if(unlink('./'.date('m-d-Y').'/'.$file))
{
echo "file named $file has been deleted successfully";
}
else
{
echo "file is not deleted";
}
我有上面的代码来删除我的文件。
但是,是否可以只删除包含".5010."
的文件
我可以做一些像"%.5010.%"
之类的东西,如果我需要将它放在while或foreach循环中的多个文件中吗?因为现在它删除了我的所有文件。
答案 0 :(得分:0)
您可以使用glob()查找与模式匹配的路径名。
所以你的代码看起来像这样,
$path="./".date('m-d-Y')."/*".$file."*";
$files = glob($path); // this will return multiple files.
foreach ($files as $file) {
unlink($file);
}
glob()返回一个包含匹配文件/目录的数组,如果没有文件匹配则返回一个空数组,如果错误则返回FALSE。
答案 1 :(得分:0)
您可以使用glob循环文件,并在使用preg_match
后选择匹配模式的文件
<?php
foreach(glob('path/to/dir/*.*') as $file) {
if (preg_match('*.5010.*', $file)) {
unlink($file)
}
}