怎么解決無法刪除虛擬主機(jī)文件或文件夾 |
發(fā)布時(shí)間: 2014/8/12 11:12:58 |
怎么解決無法刪除虛擬主機(jī)文件或文件夾,大家在使用Linux的虛擬主機(jī)時(shí)候有沒有出現(xiàn)過通過FTP無法刪除網(wǎng)站路徑中的一些文件夾和文件,F(xiàn)TP工具軟件會(huì)提示Permission Denied(沒有權(quán)限),或者 550刪除目錄操作失敗。今天小編在操作FTP的時(shí)候就出現(xiàn)了這種問題。出現(xiàn)的原因一般都是這些目錄或文件是PHP程序以管理員用戶寫入的,而一般虛擬主機(jī)的用戶名下的用戶又沒有管理員用戶組的權(quán)限,因此無法刪除。
我們可以把下面這個(gè)PHP代碼放到對(duì)應(yīng)的虛擬主機(jī)的空間上運(yùn)行,按提示輸入文件夾或文件名即可。(注意這里最好使用相對(duì)路徑。)*.php <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <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>請(qǐng)確定填寫無誤后再進(jìn)行刪除操作!</b><br> 請(qǐng)輸入文件夾路徑,多個(gè)文件夾請(qǐng)使用";"隔開 <input type="text" name="all_folder" size="50"> <input type="submit" value="刪除"> </form> <br> <form action="?action=filedel" method="post"> 刪除文件,<b>請(qǐng)確定填寫無誤后再進(jìn)行刪除操作!</b><br> 請(qǐng)輸入完整的文件路徑,多個(gè)文件請(qǐng)使用";"隔開 <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)) { //根據(jù)分號(hào)識(shí)別多個(gè)文件夾 $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)) { //根據(jù)分號(hào)識(shí)別多個(gè)文件 $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 . '無法刪除,請(qǐng)檢查權(quán)限<Br>'; } } else { echo $file . '不存在<br>'; } } } } } //刪除目錄及所包含文件函數(shù) function deldir($dir) { //打開文件目錄 $dh = opendir($dir); //循環(huán)讀取文件 while ($file = readdir($dh)) { if($file != '.' && $file != '..') { $fullpath = $dir . '/' . $file; //判斷是否為目錄 if(!is_dir($fullpath)) { //如果不是,刪除該文件 if(!unlink($fullpath)) { echo $fullpath . '無法刪除,可能是沒有權(quán)限!<br>'; } } else { // 如果是目錄,遞歸本身刪除下級(jí)目錄 deldir($fullpath); } } } //關(guān)閉目錄 closedir($dh); //刪除目錄 if(rmdir($dir)) { return true; } else { return false; } } ?> </body> </html>
以上代碼中的標(biāo)點(diǎn)符號(hào)可能被轉(zhuǎn)化為中文標(biāo)點(diǎn),會(huì)出現(xiàn)錯(cuò)誤,為了防止出錯(cuò)大家也可以直接把標(biāo)點(diǎn)符號(hào)改成英文狀態(tài)下的,然后上傳到虛擬主機(jī)上。下載好以后然后將*.php上傳到虛擬主機(jī)根目錄,然后訪問該文件。然后將要?jiǎng)h除的文件或者文件夾的路徑填寫上去,然后刷新下虛擬主機(jī)即可發(fā)現(xiàn)文件已被刪除。 本文出自:億恩科技【1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |