服务器上数据删不掉的解决 550

作者:shenmeng 发布时间:November 1, 2009 分类:

之前安装了个Gallery在虚拟主机上,但是感觉gallery太丑了,字又小,我也懒得自己去改它的字体了,就把它删了,但是有几个文件夹删不掉,在cpanel的文件管理器中下无法删除,用ftp登录后也无法删除,ssh登录也删不掉。改权限也改不了。
在ftp中提示 550 Can't remove directory: Permission denied
后来才知道这些文件的所有者是apache ,所以删不掉,只能调用php文件删除。
php文件如下:

<?php
function deltree$f ){
    if( 
is_dir$f ) ){
        foreach( 
scandir$f ) as $item ){
            if( !
strcmp$item'.' ) || !strcmp$item'..' ) ) 
                continue;        
            
deltree$f "/" $item );
        }
        
rmdir$f );
    }
    else{
        
unlink$f );
        return 
ture;
    }
}
if(
deltree"directory"))
     echo 
"All right!";
?>

将上述代码保存为del.php(文件名随意,注意:修改倒数第三行的directory为你要删除的目录名,是文件也可以),上传该文件到你要删除的文件(夹)所在的目录,在浏览器中调用该php文件(要加上你的目录),即可删除。
比如我的public_html下有一个photo目录,我要删除的是在该目录中的g2data目录,则我将directory改为g2data ,上传php文件至public_html/photo目录,在浏览器中输入http://domain.com/photo/del.php
上述程序是利用递归调用的,最终删除文件的命令是unlink( $f ) 删除目录用rmdir( $f )

注意:这样后可能会报错,而且最外层的文件夹没删掉,但这时可以在cpanel中删除了。

标签: none

仅有一条评论 »

  1. Martin Martin March 21st, 2010 at 09:33 pm

    我正碰上这麻烦事,Google到你这来了,嘿嘿,世界真小。

添加新评论 »

captcha
请输入验证码