我已經包含了一些文件名沒有擴展(以下數字是文件的名稱)的數組:刪除文件正從數組名不知道分機
[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