我已经包含了一些文件名没有扩展(以下数字是文件的名称)的数组:删除文件正从数组名不知道分机
[1] => 214
[2] => 12
[3] => 2763
[4] => 356
[5] => 87
我想从服务器删除这些文件而不知道它们的扩展名(可能是.jpg .JPG .GIF .jpeg等)。
我试过使用GLOB,但我不明白如何教PHP使用通配符,并在同一时间获取数组中的文件的名称。
我已经包含了一些文件名没有扩展(以下数字是文件的名称)的数组:删除文件正从数组名不知道分机
[1] => 214
[2] => 12
[3] => 2763
[4] => 356
[5] => 87
我想从服务器删除这些文件而不知道它们的扩展名(可能是.jpg .JPG .GIF .jpeg等)。
我试过使用GLOB,但我不明白如何教PHP使用通配符,并在同一时间获取数组中的文件的名称。
假设$names
是你的数组:
$path = "../pictures/";
foreach ($names as $name) {
foreach (glob($path . $name . '*') as $filename) {
unlink(realpath($filename));
}
}
很抱歉,$ filename是空的。我的数组被称为$ orphans,print_r($ orphans)确认它有数据。我把你的$名称变为$孤儿,但是$ filename是空的。 – Nicero
我发布的脚本假定您要删除的文件与您的PHP脚本位于同一目录中。如果没有,你应该添加路径到目录('foreach($ PATH.glob($ name。'*')$ filename)')。 – zavg
抱歉,仍然为空。不知道为什么。脚本在/ php中,要删除的文件在/图片中。我添加了路径:'foreach(“../ pictures /”。glob($ name。“*”)as $ filename)'然后'unlink(“../ pictures /".$ filename)'但它没有工作。 – Nicero
你能告诉码你尝试? – tptcat
明显,但如果您有3个文件具有相同的名称但扩展名不同,那么您将全部删除它们。 – Nanne
文件名称对应于数据库的唯一ID。 – Nicero