网页空间中的文件无法删除或修改权限

乌帮图的博客装了一个wordpress插件,结果删不掉了,进FTP里删除文件也不行,也不能修改文件权限。搞了半天。

今天试着装了wordpress的wap插件:wp-t-wap,后来又觉得不爽,准备删掉:后台禁用插件-FTP中删除。

但是插件会在网站根目录下生成一个名为wap的子目录,权限为755,其下子文件权限为644,无法删除,也改不了权限,提示Permission denied。

登陆到000webhost的Cpanel面板–File Manager里查看,发现目录的Owener和Group都为99,这下麻烦了。

记得刚开博时也遇到过同样的问题,当时是直接在000webhost后台清空了FTP:

permission denied,权限,删除

如果用此命令,会清空所有的FTP和数据库,当然不会用这个了,慎用!。大家注意到了吧,右边的几个图标,凭着我蹩脚的英语,大概还是懂得了一点点,貌似是修复文件权限和文件所有者功能的,点进去以后,果然不出所料:

permission denied,权限,删除

permission denied,权限,删除

Execute(chown files)以后,成功删除文件。看来000webhost的后台面板确实强大。

但是并不是所有空间都有这功能的,一般没有定制cpanel的空间怎么办。在我们的google.com.hk上找了半天,最后在第4页中找到答案。

以下内容为转载:

之前安装了个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中删除了。

» 链接地址:http://wubangtu.com/581 »英雄不问来路,转载请注明出处。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>