服务器上数据删不掉的解决 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中删除了。
仅有一条评论 »
我正碰上这麻烦事,Google到你这来了,嘿嘿,世界真小。