php文件写入问题

发布于 2024-11-19 06:56:56 字数 400 浏览 4 评论 0原文

我有一个脚本,它不断地将字符串附加到文件中。

例如(这是一个测试脚本):

$i = 1;
$file = 'wikipedia/test.txt';
$text = 'the quick brown fox jumps over the lazy dog';
while($i!=0)
{
  file_put_contents($file, $text, FILE_APPEND );
}

但是由于未知原因,当文本文件达到文件大小 2097156 B 时,我的程序停止附加字符串。这不是磁盘空间问题,因为我仍然可以创建另一个文本文件,但仅限于相同的确切文件大小值。

我尝试使用其他 php 函数 fwrite、fputs 但仍然没有成功。

知道为什么会出现这个问题吗?

I have a script which constanly append strings into a file.

For example (this is a test script):

$i = 1;
$file = 'wikipedia/test.txt';
$text = 'the quick brown fox jumps over the lazy dog';
while($i!=0)
{
  file_put_contents($file, $text, FILE_APPEND );
}

But for an unknown reason my program stops appending strings when the text file reached the file size of 2097156 B . It wasn't a disk space issue since i could still create another text file yet limited to the same exact file size value.

I tried using other php functions fwrite, fputs but still didn't work out.

Any idea why this problem occurs?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

空城之時有危險 2024-11-26 06:56:56

似乎不太可能,但如果 PHP 的当前设置非常低,您可能会遇到 PHP 的 max_execution_time 问题。尝试增加 php.ini 中的值

Seems unlikely, but you might have run up against PHP's max_execution_time if its current setting is very low. Try increasing its value in php.ini

白云不回头 2024-11-26 06:56:56

你的循环没有意义。它永远不会改变$i。
没时间就试试吧。

$file = 'wikipedia/test.txt';
$text = 'the quick brown fox jumps over the lazy dog';
file_put_contents($file, $text, FILE_APPEND );

Your loop doesnt make sense. It never changes $i.
Try it without the while.

$file = 'wikipedia/test.txt';
$text = 'the quick brown fox jumps over the lazy dog';
file_put_contents($file, $text, FILE_APPEND );
極樂鬼 2024-11-26 06:56:56

有几个问题可能会导致此问题。

  1. 您可能遇到了最大执行时间限制(默认值:30 秒)。
  2. 您可能已耗尽内存限制(默认值:因版本而异)
  3. 磁盘上的某些内容可能已更改(文件权限可能已更改,或者您可能已超出磁盘配额)。

PHP 的错误输出对于识别哪些问题可能导致该问题非常有价值。

There are several issues that could cause this problem.

  1. You may have encountered the max execution time limit ( default: 30 seconds ).
  2. You may have exhausted the memory limit ( default: varies by version)
  3. Something may have changed on disk ( the file permissions may have changed, or you may have exceeded a disk quota).

PHP's error output would be invaluable for identify which of these issues may have contributed to the problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文