linux服務器下完美解決無法刪除虛擬主機文件或文件夾
FTP工具軟件會提示Permission Denied(沒有權(quán)限),或者 550刪除目錄操作失敗。今天小殘在操作FTP的時候就出現(xiàn)了這種問題。
出現(xiàn)的原因一般都是這些目錄或文件是PHP程序以管理員用戶寫入的,而一般虛擬主機的用戶名下的用戶又沒有管理員用戶組的權(quán)限,因此無法刪除。
大家在使用Linux的虛擬主機時候有沒有出現(xiàn)過通過FTP無法刪除網(wǎng)站路徑中的一些文件夾和文件

我們可以把下面這個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)) {
//根據(jù)分號識別多個文件夾
$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ù)分號識別多個文件
$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 . '無法刪除,請檢查權(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 . '小殘?zhí)崾?無法刪除,可能是沒有權(quán)限!<br>';
}
} else {
//如果是目錄,遞歸本身刪除下級目錄
deldir($fullpath);
}
}
}
//關(guān)閉目錄
closedir($dh);
//刪除目錄
if(rmdir($dir)) {
return true;
} else {
return false;
}
}
?>
</body>
</html>
為了防止出錯大家也可以直接下載文件然后上傳到虛擬主機上。
下載地址:本地下載
下載好以后然后將 exehack.php上傳到虛擬主機根目錄,然后訪問該文件。
即http://www.exehack.net/exehack.php

然后將要刪除的文件或者文件夾的路徑填寫上去

比如刪除min文件夾那么如下設置:

然后刷新下虛擬主機即可發(fā)現(xiàn)文件已被刪除。
相關(guān)文章
Windows7下Linux雙操作系統(tǒng)安裝圖文教程
這篇文章主要為大家詳細介紹了Windows7下Linux雙操作系統(tǒng)安裝圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-07-07
Centos7.2安裝Nginx實現(xiàn)負載平衡的方法
這篇文章主要介紹了Centos7.2安裝Nginx實現(xiàn)負載平衡的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01

