出现的原因一般都是这些目录或文件是PHP程序以管理员用户写入的,而一般虚拟主机的用户名下的用户又没有管理员用户组的权限,因此无法删除。
大家在使用Linux的虚拟主机时候有没有出现过通过FTP无法删除网站路径中的一些文件夹和文件
我们可以把下面这个PHP代码放到对应的虚拟主机的空间上运行,按提示输入文件夹或文件名即可。(注意这里最好使用相对路径。)
/*
####警告####
本软件为空间维护工具,使用完毕之后请立即删除本文件
www.exehack.net
*/
?>
空间文件夹/文件删除工具body {font-family:"宋体"; font-size:12px;}
imput { border:1px #ccc solid;}
b { color:#FF0000;}
删除文件夹,请确定填写无误后再进行删除操作!
请输入文件夹路径,多个文件夹请使用";"隔开
删除文件,请确定填写无误后再进行删除操作!
请输入完整的文件路径,多个文件请使用";"隔开
$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 . '删除成功
';
}
}
}
}
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 . '删除成功
';
} else {
echo $file . '无法删除,请检查权限
';
}
} else {
echo $file . '不存在
';
}
}
}
}
}
//删除目录及所包含文件函数
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 . '小残提示:无法删除,可能是没有权限!
';
}
} else {
//如果是目录,递归本身删除下级目录
deldir($fullpath);
}
}
}
//关闭目录
closedir($dh);
//删除目录
if(rmdir($dir)) {
return true;
} else {
return false;
}
}
?>
为了防止出错大家也可以直接下载文件然后上传到虚拟主机上。
下载地址:本地下载
下载好以后然后将 exehack.php上传到虚拟主机根目录,然后访问该文件。
即http://www.exehack.net/exehack.php
然后将要删除的文件或者文件夹的路径填写上去
比如删除min文件夹那么如下设置:
然后刷新下虚拟主机即可发现文件已被删除。