2016-12-02 107 views
0

如何刪除了服務器上的PHP腳本中的所有文件?我的問題是我有很多需要刪除的文件,而且通過FTP客戶端需要相當長的時間。刪除所有文件與PHP腳本

+0

使用'水珠()'讓所有匹配的通配符模式的文件的數組,然後遍歷它們調用'的unlink()'。有什麼問題? – Barmar

+1

你可以編輯這個來添加一個更具體的問題描述嗎?您想要刪除的文件與PHP腳本相關的位置在哪裏?他們在同一臺服務器上嗎? –

+0

數據通過InternetProvider存儲在服務器上。我安裝了一個商店系統,並生成了超過45000個文件。現在我想刪除所有數據。使用FileZilla只需要很長時間。這就是爲什麼我正在尋找一個PHP腳本,其中服務器直接接管工作。我期望速度優勢。 – Syntax6

回答

2

您可以使用循環刪除所有文件,例如: `

$files = glob('path/to/temp/*'); // get all file names 
foreach($files as $file){ // iterate files 
    if(is_file($file)) 
    unlink($file); // delete file 
} 

`

0

未經測試,但是這應該工作:

$dir = "dir/to/purge/"; // Directory you want to remove all the files from 
$listing = scandir($dir); // Array containing all files and directories inside the provided directory 

foreach($listing as $file) { 
    if(is_file($dir . $file)) { 
    unlink($dir . $file); // Removes the file from the listing 
    } 
} 

注意,有很多文件如此可能會耗盡你所有的記憶。

+0

我認爲它實際上應該可能的複製工作,但事實並非如此。我已經從您的代碼中創建了一個PHP文件並將其上傳到服務器。然後我用瀏覽器調用該文件。對不起,該目錄尚未刪除。我認爲我犯了一個錯誤。 – Syntax6

+1

*「這也會刪除目錄」* - 'unlink()只能刪除文件,而不是文件夾。 'rmdir()'刪除文件夾,但前提是它們是空的。 –

+0

弗雷德有道理,沒有想到這一點。在那種情況下,無論如何都應該使用後者。如果您使用的第一個版本也可能是您的問題的原因,@語法6。嘗試另一個或使用其他答案在這個問題上。我正在編輯我的答案,現在刪除第一個。 – bugfroggy