我在包含以下文件的目录(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
,而是删除其中包含1
的所有文件(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);
?>
答案 0 :(得分:7)
我认为您正在寻找允许使用通配符删除的GLOB功能。
例如
foreach (glob("*.jpg") as $filename) {
echo "$filename size " . filesize($filename) . "\n";
unlink($filename);
}
答案 1 :(得分:1)
当运行只包含unlink
代码的php文件时,它运行正常。我追踪了我的其余部分(永远花了:()并且在编码之前发现了一些问题。仍然不确定为什么会影响静态unlink()
调用。也就是说,这是代码中其他地方的问题已经解决了。我感谢大家提出的帮助我解决这个问题的时间和精力......
答案 2 :(得分: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
}
}
答案 3 :(得分:0)
请为要删除的图片添加取消链接功能。
unlink($image);