【发布时间】:2014-11-08 22:33:35
【问题描述】:
以下代码解压缩我上传的文件并将所有内容提取到一个名为 PDF 的目录中。然后它继续遍历文件并返回要下载的文件。
我的问题是我需要检查文件扩展名。我只想将 PDF 文件返回给用户,但一些上传的文件有不必要的图像。
如何检查文件的内容以确保解压后的文件是 PDF 并且只有 PDF 会返回给用户?
<?php
$zip = new ZipArchive;
$res = $zip->open('/download/xxxx.zip');
if ($res === TRUE) {
$zip->extractTo('/download/pdf/');
for($i = 0; $i < $zip->numFiles; $i++)
{
echo '<a href="/download/pdf/' . $zip->getNameIndex($i) . '">download</a>';
}
$zip->close();
} else {
echo 'Something went wrong :( ';
}
?>
谢谢
得克萨斯解决方案对我有用。如果需要,这里是代码 我添加了 cmets 以显示我所做的更改。
<?php
$zip = new ZipArchive;
$res = $zip->open('/download/xxxxx.zip');
if ($res === TRUE) {
$zip->extractTo('/download/pdf/');
for($i = 0; $i < $zip->numFiles; $i++)
{
//Load files into variable which can be used with the following... ['dirname'], ['basename'], ['extension'], ['filename']
$path_parts = pathinfo('/download/pdf/' . $zip->getNameIndex($i));
//If the extension is equal to PDF echo the code out
if($path_parts['extension'] === 'pdf')
{
echo '<a href="/download/pdf/' . $zip->getNameIndex($i) . '">download</a>';
}
}
$zip->close();
} else {
echo 'Something went wrong :( ';
}
?>
【问题讨论】:
标签: php pdf unzip ziparchive