FTRUNCATE在开头留出空间

时间:2013-12-23 05:19:13

标签: php file

我想用每个循环截断一个文件并再次写入。所以,我正在使用下面的代码。

然而,这里发生的事情是我在每个循环的开头都获得了一些额外的空间。第一次没有空间没有添加空间(我也尝试了修剪功能)。

你能帮帮我吗?

$file = fopen("progress/".$_POST['fname'].".txt","w");
while($row=mysql_fetch_assoc($result)){
    updateDB($row['movieid'],trim($row['tempname']));
    ftruncate($file,0);
    fwrite($file,round(100*$complete++/$tot));
}
fclose($file);

输出:(类似这样)

11
  20
    30
      40

1 个答案:

答案 0 :(得分:5)

您忘记将文件指针移回开头。 ftruncate()不会为您执行此操作。写入高级位置会使用NULL填充前面的字节。 使用fseek()