2012-03-31 2 views
0

Когда я делаю растущий файл в php, я обычно использую функцию _file_put_contents_ с флагами FILE_APPEND и LOCK_EX. Нет, у меня растущий видеофайл, который я играю с mplayer. Чтобы избежать слишком большого размера файла, я хочу перезаписать данные, которые я уже играл, без обрезки файла. В Баш, есть простая функция, чтобы сделать это:Переопределить данные без обрезания файла

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

объясняется здесь http://en.wikipedia.org/wiki//dev/zero

Есть ли способ, чтобы получить то же самое в PHP?

+1

http://nz.php.net/manual/en/function.ftruncate.php ПОЧЕМУ ВЫ ТАК LAZY? – zerkms

ответ

0

Как об этом:

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

Спасибо, что это работает! :) – Matteo

Смежные вопросы