我有一个名为uploads
的文件夹,其中包含许多文件。我想找出其中是否有.zip
文件。如何使用php检查其中是否有.zip
文件?
答案 0 :(得分:3)
答案 1 :(得分:3)
@Bemhard已经给出了答案,我正在添加更多信息以备将来使用:
如果您要在uploads
文件夹中运行脚本,则只需要调用glob('*.zip')
。
<?php
foreach(glob('*.zip') as $file){
echo $file."<br/>";
}
?>
如果您有多个文件夹,并且其中包含多个zip文件,那么您只需要从根目录运行脚本即可。
<?php
$dir = __DIR__; // will get the exact path
$dirs = array_filter(glob('*'), 'is_dir'); // filter is directory or not.
$i = 1;
foreach ($dirs as $key => $value) {
foreach(glob($value.'/*.zip') as $file){
echo $file."<br/>"; // this will print all files inside the folders.
}
$i++;
}
?>
还有一点,如果您要删除此活动中的所有zip文件,则只需要通过以下方式unlink
个文件即可:
<?php
$dir = __DIR__; // will get the exact path
$dirs = array_filter(glob('*'), 'is_dir'); // filter is directory or not.
$i = 1;
foreach ($dirs as $key => $value) {
foreach(glob($value.'/*.zip') as $file){
echo $file."<br/>"; // this will print all files inside the folders.
unlink($file); // this will remove all files.
}
$i++;
}
?>
答案 2 :(得分:2)
/**
*
* @param string $directoryPath the directory to scan
* @param string $extension the extintion e.g zip
* @return []
*/
function getFilesByExtension($directoryPath, $extension)
{
$filesRet = [];
$files = scandir($directoryPath);
if(!$files) return $filesRet;
foreach ($files as $file) {
if(pathinfo($file)['extension'] === $extension)
$filesRet[]= $file;
}
return $filesRet;
}
它可以像
一样使用 var_dump(getFilesByExtension("uploads/","zip"));