今天在在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; } } }