使用php如何检查pdf文件内容是有效还是无效

时间:2016-11-02 09:46:36

标签: php regex validation pdf

我正在尝试实现一个应该检测pdf文件的功能,并且它的内容有效或无效。使用以下脚本,我可以轻松检测文件是否为pdf:

  $info = pathinfo("test.pdf");
  if ($info["extension"] == "pdf"){
  echo "PDF file";
  }

现在我想检查文件扩展名pdf,然后pdf文件的内容是否有效。

请告诉我如何查看pdf文件内容有效且未损坏或格式无效。

2 个答案:

答案 0 :(得分:3)

pdf文件的内容以%PDF -version no开头,所以首先使用以下脚本获取pdf文件的内容:

    $filecontent=file_get_contents("test.pdf");

之后使用以下正则表达式检查 $ filecontent 变量,以检测其有效格式或无效格式:

                   if(preg_match("/^%PDF-1.5/", $filecontent)){
                        echo "Valid pdf";
                    }else{
                       echo "In Valid pdf";
                    }

注意: Pdf版本可能不同,例如1.0,1.5,1.7等...在我的情况下它是1.5也确保你已经在脚本/条件中放置了上面的代码(如果文件有 .pdf 扩展程序)

答案 1 :(得分:0)

PHP可以使用内置库HaruPDF创建PDF文件,但无法直接读取,解析或验证PDF文件。您需要一个外部库或工具。您可以查看pdftk,但它似乎只是一个Windows解决方案,可能不是您想要的。