linux下无法删除文件夹,Linux空间中文件或文件夹无法删除的解决办法

我用的是Linux虚拟空间,每当升级论坛或博客程序后,就会有些旧的文件或文件夹异常“顽固”无法删除,不管是FTP工具还是WEB管理工具都没 辙,只得通知客服协助删除一下。不过总这样总归不是个好办法,且很不方便。今天升级UCenter Home后,又出现这个问题!遂试着在网上找找有没有同样的问题及解决方法,果然有。

原来这是文件或文件夹的权限问题:这些所不能被FTP帐户删除的文件或文件夹是由PHP程序生成的(如在上传文件时所生成的目录),所以它们的所有 者是Apache帐户而非Ftp帐户,由于有些Linux虚拟主机上的Apache帐户和Ftp帐户通常不在一个用户组,当然Apache帐户所创建的文 件或文件夹也就无法由Ftp帐户删除或更改了。解决方法就是用Php程序让Apache去删除,Php代码如下:

/*

www.linuxidc.com > 源文件来自网络

####警告####

本软件为空间维护工具,使用完毕之后请立即删除本文件

*/

?>

空间文件夹/文件删除工具

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;

}

}

?>

PS:在使用此工具的时候,首先要确定文件夹是由php程序生成(有Ftp创建的文件夹无法被删除);如果删除 不成功,就要检查你输入的文件夹或文件的路径了,页面中提示的输入完整路径是指相对于此Php工具所在的目录的。如要删除的“abc”文件夹和上传的此 Php工具同时在你站点的根目录,就在删除文件夹的输入框中直接填写“abc”即可,如果要删除的文件夹是在“abc”中的“123”文件夹,则输入 “abc/123/”即可;文件的删除亦如此。0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值