我想制作删除列表,但mp3和mp4文件除外
我的代码是
错误 致命错误:在第39行的E:\ xampp \ htdocs \ tes \ index.php中调用未定义的函数endsWith()
$files = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($rootPath),
RecursiveIteratorIterator::LEAVES_ONLY
);
foreach ($files as $name => $file)
{
// Skip directories (they would be added automatically)
if (!$file->isDir())
{
// Get real and relative path for current file
$filePath = $file->getRealPath();
$relativePath = substr($filePath, strlen($rootPath) + 1);
// Add current file to archive
$zip->addFile($filePath, $relativePath);
$zip->close();
// Add current file to "delete list"
// delete it later cause ZipArchive create archive only after calling close function and ZipArchive lock files until archive created)
if ($file->getFilename().endsWith(".mp3")) error at this code
{
$filesToDelete[] = $filePath;
}
}
}
任何人都应该帮助我
答案 0 :(得分:1)
同样,检查文件扩展名是不可靠的。您应该使用以下命令检查文件的mime类型:mime_content_type。
在您的代码中,您可以执行以下操作:
// Add current file to "delete list"
// delete it later cause ZipArchive create archive only after calling close function and ZipArchive lock files until archive created)
if (mime_content_type($filePath) == "audio/mp3"))
{
$filesToDelete[] = $filePath;
}
但要小心,因为mp3有很多不同的mime类型,你可以看到here。
编辑: 如果您不想检查多个mime_types,可以使用in_array:
if(in_array(mime_content_type($filePath), ['audio/mp3','audio/mpeg']))
答案 1 :(得分:0)
没有任何目的。你需要创建自己的。查看此示例。