2013-12-23 39 views
2

我想在每個循環中截斷文件並重新寫入。所以,我使用下面的代碼。FTRUNCATE在開始處留下空間

但是,這裏發生了什麼是我在每個循環的開始獲得一些額外的空間。第一次沒有空間被添加(也嘗試了修剪功能)。

你能幫我嗎?

$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); 

OUTPUT:(像這樣)

11 
    20 
    30 
     40 

回答

5

你忘了移動文件指針回到起點。 ftruncate()不會爲你做這個。寫入到高級位置用NULL填充前面的字節。 使用fseek()

+0

啊..不知道..非常感謝。 – abdfahim

相關問題