thinkphp5,tpshop5编辑商品清除缓存问题

今天在在tpshop下编辑商品时报了这个错误。

opendir(public/upload/goods/thumb,public/upload/goods/thumb):


这是报错的地方。

// 递归删除文件夹
function delFile($path,$delDir = FALSE) {
   $handle = opendir($path);
   if ($handle) {
      while (false !== ( $item = readdir($handle) )) {
         if ($item != "." && $item != "..")
            is_dir("$path/$item") ? delFile("$path/$item", $delDir) : unlink("$path/$item");
      }
      closedir($handle);
      if ($delDir) return rmdir($path);
   }else {
      if (file_exists($path)) {
         return unlink($path);
      } else {
         return FALSE;
      }
   }
}

后来查阅资料发现。

opendir() 函数打开一个目录句柄。

若成功,则该函数返回一个目录流,否则返回 false 以及一个 error。可以通过在函数名前加上 "@" 来隐藏 error 的输出。

所以,在opendir()前加@就好了。废话一堆其实就一个字符就解决了...

// 递归删除文件夹
function delFile($path,$delDir = FALSE) {
   $handle = @opendir($path);
   if ($handle) {
      while (false !== ( $item = readdir($handle) )) {
         if ($item != "." && $item != "..")
            is_dir("$path/$item") ? delFile("$path/$item", $delDir) : unlink("$path/$item");
      }
      closedir($handle);
      if ($delDir) return rmdir($path);
   }else {
      if (file_exists($path)) {
         return unlink($path);
      } else {
         return FALSE;
      }
   }
}




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值