删除php目录中的文件

时间:2016-09-08 12:42:09

标签: php

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循环中的多个文件中吗?因为现在它删除了我的所有文件。

2 个答案:

答案 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)
    }
}