FTP工具軟件會提示Permission Denied(沒有權限),或者 550刪除目錄操作失敗。今天小殘在操作FTP的時候就出現了這種問題。
出現的原因一般都是這些目錄或文件是PHP程序以管理員用戶寫入的,而一般虛擬主機的用戶名下的用戶又沒有管理員用戶組的權限,因此無法刪除。
大家在使用Linux的虛擬主機時候有沒有出現過通過FTP無法刪除網站路徑中的一些文件夾和文件
我們可以把下面這個PHP代碼放到對應的虛擬主機的空間上運行,按提示輸入文件夾或文件名即可。(注意這里最好使用相對路徑。)
<?php/* ####警告#### 本軟件為空間維護工具,使用完畢之后請立即刪除本文件 www.exehack.net*/?><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>空間文件夾/文件刪除工具</title><style>body {font-family:"宋體"; font-size:12px;}imput { border:1px #ccc solid;}b { color:#FF0000;}</style></head><body><form action="?action=dirdel" method="post">刪除文件夾,<b>請確定填寫無誤后再進行刪除操作!</b><br>請輸入文件夾路徑,多個文件夾請使用";"隔開<input type="text" name="all_folder" size="50"><input type="submit" value="刪除"></form><br><form action="?action=filedel" method="post">刪除文件,<b>請確定填寫無誤后再進行刪除操作!</b><br>請輸入完整的文件路徑,多個文件請使用";"隔開<input type="text" name="all_files" size="50"><input type="submit" value="刪除"></form><br><?php$action = $_GET['action'];//刪除目錄操作if($action=='dirdel') { $all_folder = $_POST['all_folder']; if(!empty($all_folder)) { //根據分號識別多個文件夾 $folders = explode(';',$all_folder); if(is_array($folders)) { foreach($folders as $folder) { deldir($folder); echo $folder . '刪除成功<Br>'; } } }}if($action=='filedel') { $all_files = $_POST['all_files']; if(!empty($all_files)) { //根據分號識別多個文件 $files = explode(';',$all_files); if(is_array($files)) { foreach($files as $file) { if(is_file($file)) { if(unlink($file)) { echo $file . '刪除成功<Br>'; } else { echo $file . '無法刪除,請檢查權限<Br>'; } } else { echo $file . '不存在<br>'; } } } }}//刪除目錄及所包含文件函數function deldir($dir) { //打開文件目錄 $dh = opendir($dir); //循環讀取文件 while ($file = readdir($dh)) { if($file != '.' && $file != '..') { $fullpath = $dir . '/' . $file; //判斷是否為目錄 if(!is_dir($fullpath)) { //如果不是,刪除該文件 if(!unlink($fullpath)) { echo $fullpath . '小殘提示:無法刪除,可能是沒有權限!<br>'; } } else { //如果是目錄,遞歸本身刪除下級目錄 deldir($fullpath); } } } //關閉目錄 closedir($dh); //刪除目錄 if(rmdir($dir)) { return true; } else { return false; }}?></body></html>
為了防止出錯大家也可以直接下載文件然后上傳到虛擬主機上。
下載好以后然后將 exehack.php上傳到虛擬主機根目錄,然后訪問該文件。
即http://www.exehack.net/exehack.php
然后將要刪除的文件或者文件夾的路徑填寫上去
比如刪除min文件夾那么如下設置:
然后刷新下虛擬主機即可發現文件已被刪除。
新聞熱點
疑難解答
圖片精選