簡體   English   中英

PHP:如何檢查gz文件是否已損壞?

[英]PHP: How to check if gz file is corrupt?

有沒有辦法檢測PHP中的gz文件是否已損壞?

我目前正在使用http://www.php.net/manual/de/function.gzread.php#110078來確定文件大小並通過以下方式讀取整個*文件

$zd = gzopen ( $file, "r" );
$contents = gzread ( $zd, $fzip_size );
gzclose ( $zd );

不幸的是,一些gz文件已損壞,最后4個字節不代表gz文件的實際長度。 只要數字是否定的,我就能告訴某些事情是錯的,但有時它是正面的(而且非常大)會導致內存不足的錯誤。 如果文件已損壞,我該如何提前檢查?

  • 我正在讀整個文件,因為我發現沒有工作方式逐行讀取文件而不知道最長行的大小 - 這導致(在某些情況下)不完整的行。

如果你可以使用linux gzip命令,那么查找文件是否錯誤將非常簡單。 如果文件有效, gzip -t將不顯示任何消息。

if (`gzip -t $file 2>&1`) {
    echo "An error occured";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM