2013-12-11 26 views
1

我已经包含了一些文件名没有扩展(以下数字是文件的名称)的数组:删除文件正从数组名不知道分机

[1] => 214 
[2] => 12 
[3] => 2763 
[4] => 356 
[5] => 87 

我想从服务器删除这些文件而不知道它们的扩展名(可能是.jpg .JPG .GIF .jpeg等)。

我试过使用GLOB,但我不明白如何教PHP使用通配符,并在同一时间获取数组中的文件的名称。

+1

你能告诉码你尝试? – tptcat

+0

明显,但如果您有3个文件具有相同的名称但扩展名不同,那么您将全部删除它们。 – Nanne

+0

文件名称对应于数据库的唯一ID。 – Nicero

回答

1

假设$names是你的数组:

$path = "../pictures/"; 
foreach ($names as $name) { 
    foreach (glob($path . $name . '*') as $filename) { 
    unlink(realpath($filename)); 
    } 
} 
+0

很抱歉,$ filename是空的。我的数组被称为$ orphans,print_r($ orphans)确认它有数据。我把你的$名称变为$孤儿,但是$ filename是空的。 – Nicero

+0

我发布的脚本假定您要删除的文件与您的PHP脚本位于同一目录中。如果没有,你应该添加路径到目录('foreach($ PATH.glob($ name。'*')$ filename)')。 – zavg

+0

抱歉,仍然为空。不知道为什么。脚本在/ php中,要删除的文件在/图片中。我添加了路径:'foreach(“../ pictures /”。glob($ name。“*”)as $ filename)'然后'unlink(“../ pictures /".$ filename)'但它没有工作。 – Nicero

相关问题