有没有办法检测gz文件在PHP中是否损坏?
我目前正在使用http://www.php.net/manual/de/function.gzread.php#110078来确定文件大小并通过读取整个 * 文件
$zd = gzopen ( $file, "r" );
$contents = gzread ( $zd, $fzip_size );
gzclose ( $zd );
Run Code Online (Sandbox Code Playgroud)
不幸的是,一些 gz 文件已损坏,最后 4 个字节不代表 gz 文件的实际长度。只要数字是负数,我就可以判断出问题,但有时它是正数(并且非常大),这会导致内存不足错误。如何提前检查文件是否已损坏?
如果你可以使用linux gzip命令,那么查找文件是否错误将会非常简单。如果文件有效,gzip -t将不显示任何消息。
if (`gzip -t $file 2>&1`) {
echo "An error occured";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1895 次 |
| 最近记录: |