php文件写作问题

时间:2011-07-08 17:57:28

标签: php linux fedora fwrite fputs

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

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

$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但仍然无法解决。

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

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

你的循环没有意义。它永远不会改变$ i。 不用一会儿就试一试。

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

答案 2 :(得分:0)

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

  1. 您可能遇到过最长执行时间限制(默认值:30秒)。
  2. 您可能已经用尽内存限制(默认值:因版本而异)
  3. 磁盘上的某些内容可能已更改(文件权限可能已更改,或者您可能已超出磁盘配额)。
  4. PHP的错误输出对于识别哪些问题可能导致问题非常有用。