0

我在包含以下文件unlink()的目录 () 上调用 php 函数:user-images/1/p/

1.jpg
1-s.jpg
1big.jpg
2.jpg
2-s.jpg
2big.jpg

实际调用本身如下:

unlink('user-images/1/p/1big.jpg');

它不只是删除1big.jpg,而是删除所有带有 a1的文件(1big.jpg, 1-s.jpg, 1.jpg)。我对此进行了相当多的研究,似乎找不到任何发布类似问题的人。

编辑:下面是完整的脚本,真的不多,看不出有什么影响。我以前也从未见过这个:(

<?PHP
unlink('user-images/1/p/1.jpg');
unlink('user-images/1/p/1-s.jpg');
$uid = '1';
$fileName = '467';
$image = '/friskyfriends/user-images/1/p/1-big.jpg';
$width = 320;
$height = 320;
buildPics();
//buildPics($uid,$fileName,$image,$width,$height);
?>
4

4 回答 4

7

我认为您正在寻找允许使用通配符删除的 GLOB 函数。

例子

foreach (glob("*.jpg") as $filename) {
   echo "$filename size " . filesize($filename) . "\n";
   unlink($filename);
}
于 2012-11-07T01:36:17.113 回答
1

运行仅包含unlink代码的 php 文件时,它运行良好。我跟踪了其余的包含(永远:()并在之前的编码中发现了一些问题。仍然不确定为什么这会影响静态unlink()调用。也就是说,这是代码中其他地方的问题,已经解决了。我很感激每个人为帮助我解决此问题而付出的时间和精力......

于 2012-05-12T10:28:36.710 回答
1

另一种方法和更明确的解决方案可能是一条路径

$search_text = "logfiles";
foreach(glob("/path/to/your/directory/$search_text*") as $filename)
{
    if(file_exists($filename)
    {
        echo "$filename size " . filesize($filename) . "\n";
        unlink($filename);
    }
    else
    {
         //no need to write because file already found with glob function
    }
}
于 2019-02-15T11:55:35.987 回答
0

请添加要删除的图像的取消链接功能。

unlink($image);
于 2012-01-31T08:02:34.077 回答