Php FTRUNCATE在开始时留下空间

Php FTRUNCATE在开始时留下空间,php,file,Php,File,我想用每个循环截断一个文件,然后再次写入。所以,我使用下面的代码 然而,这里发生的事情是,在每个循环的开始,我得到了一些额外的空间。没有空间,因为第一次没有添加空间(我也尝试了修剪功能) 你能帮帮我吗 $file = fopen("progress/".$_POST['fname'].".txt","w"); while($row=mysql_fetch_assoc($result)){ updateDB($row['movieid'],trim($row['tempname']));

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

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

你能帮帮我吗

$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);
输出:(类似这样的内容)


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

11
  20
    30
      40