关于FTP无法删除文件或者文件夹的处理方法

时间:2007-01-23 16:42:45      类别:PHP, Web技术|WEB Tech, 本站服务|Service      本文链接:生活点滴Enjoy Life

应该有朋友发现有的时候在web服务器上会发现有文件或者文件夹无法删除。那么这些文件或者文件夹非常可能就是php创建的,你可以尝试修改文件属性为777,然后再删除,如果修改失败,那FTP就不能删除了。为什么呢?因为文件或文件夹是php创建的,那么文件的owner就应该是httpd或者php了(根据apache设置相关),你ftp user不是超级用户,当然无法删除”别人”的文件了。那么这个时候就必须解铃还须系铃人了,用php删除这些文件或者文件夹。

当然php有自带的函数unlink rmdir来进行删除。可是当我们目录非空,而且层次比较深(例如:用pear的cache_lite创建的多级缓存就是这样的),那这就得自己写程序来进行删除了。 本打算自己写这样的函数,有了google和百度(估计您也是通过google或者baidu找到这里的吧),自己也就投偷懒了。

下面是删除多级文件夹的php函数,来自:Penner Blog

  1. function removeDir($dirName)
  2. {
  3. $result = false;
  4. if(! is_dir($dirName))
  5. {
  6. trigger_error("目录名称错误", E_USER_ERROR);
  7. }
  8. $handle = opendir($dirName);
  9. while(($file = readdir($handle)) !== false)
  10. {
  11. if($file != '.' && $file != '..')
  12. {
  13. $dir = $dirName . DIRECTORY_SEPARATOR . $file;
  14. is_dir($dir) ? removeDir($dir) : unlink($dir);
  15. }
  16. }
  17. closedir($handle);
  18. $result = rmdir($dirName) ? true : false;
  19. return $result;
  20. }

利用函数的嵌套,完美的实现了多级文件夹的删除,不错的函数。

该日志未加标签
发表于 2007-01-23 16:42:45 目录:PHP, Web技术|WEB Tech, 本站服务|Service [RSS 2.0] 您可以评论. Pinging 不可用.
如果您喜欢本blog,欢迎你的feed订阅,谢谢你的支持

赶快占沙发

    还没有留言呢,等你发表高见,快抢沙发啊!
  • 转到第
(Required)
(Required, not published)
如果留言未显示请不要重复留言,我将为你恢复!


生活点滴Enjoy Life is proudly powered by WordPress | admin| About Us | cosbeta| Bluehost| site map 0.617s & 25