FTRUNCATE在开头留出空间

abd*_*him 2 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);
Run Code Online (Sandbox Code Playgroud)

输出:(类似这样)

11
  20
    30
      40
Run Code Online (Sandbox Code Playgroud)

Ign*_*ams 5

您忘了将文件指针移回到开头.ftruncate()不会为你这样做.写入高级位置会填充前面的字节NULL.使用fseek().