Php 确定PDF是否已损坏

Php 确定PDF是否已损坏,php,pdf,Php,Pdf,如何确定PDF文件在PHP中是否已损坏(无法打开)?我已经通过CURL下载了数千个PDF文件,有一小部分是不完整的 $part = 'pdffile.pdf'; $escPath = str_replace( " ", "\\ ", escapeshellcmd( $part ) ); $out = shell_exec( 'pdfinfo ' . $escPath . ' 2>&1' ); if( $out != null && !preg_match( '~Er

如何确定PDF文件在PHP中是否已损坏(无法打开)?我已经通过CURL下载了数千个PDF文件,有一小部分是不完整的

$part = 'pdffile.pdf';
$escPath = str_replace( " ", "\\ ", escapeshellcmd( $part ) );
$out = shell_exec( 'pdfinfo ' . $escPath . ' 2>&1' );
if( $out != null && !preg_match( '~Error~i', $out ) )
    echo "GOOD: $part\n";
else
    echo "CORRUPT: $part\n";

我只能通过命令行找到这样做的方法。第二行是转义文件路径所必需的。

请记住,允许PHP shell执行权限是一个潜在的安全问题。确保您的安装被严格锁定。这可能是最好的方法。