PHP:如何从大文件中删除最后N个字节?

时间:2010-12-29 23:06:00

标签: php large-files

我有一个文件,需要删除最后512个字节。我不想复制文件。

感谢。

3 个答案:

答案 0 :(得分:10)

您应该使用ftruncate(handle, file_size - 512)(使用filesizefstat功能获取文件大小)

答案 1 :(得分:3)

fstatftruncatefopenfclose的使用示例:

<?php    

$bytesToTruncate = 5; // how many bytes we are going to delete from the end of the file

$handle = fopen('/home/francesco/mytest', 'r+'); // Open for reading and writing; place the file pointer at the beginning of the file.

$stat = fstat($handle);
$size = $stat['size'] - $bytesToTruncate;
$size = $size < 0 ? 0 : $size;

ftruncate($handle, $size);
fclose($handle);

答案 2 :(得分:2)

我没有用大文件测试它,但你可以尝试一下: