2012-03-31 12 views
0

Wenn ich eine wachsende Datei in PHP erstellen, verwende ich normalerweise die Funktion _file_put_contents_ mit FILE_APPEND und LOCK_EX Flags. Nicht, ich habe eine wachsende Videodatei, die ich mit MPlayer spiele. Um zu vermeiden, dass die Datei zu groß wird, möchte ich Daten, die ich bereits abgespielt habe, überschreiben, ohne die Datei abzuschneiden. In der bash ist es eine einfache Funktion, dies zu tun:Überschreiben Sie Daten, ohne die Datei zu kürzen

dd if=/dev/zero of=myoutputfile conv=notrunc count=1 bs=128k 

hier erklärt http://en.wikipedia.org/wiki//dev/zero

Gibt es eine Möglichkeit, die gleiche Sache in PHP zu erhalten?

+1

http://nz.php.net/manual/en/function.ftruncate.php WARUM SIE SO faul? – zerkms

Antwort

0

Wie wäre es damit:

$h = fopen("myoutput", "r+"); // '+' means also for writing without truncating 
fseek($h, $wherever_you_need); 
fwrite($h, $data); // overwrite 
fclose($h); 
+0

Danke das funktioniert! :) – Matteo