|
代码实现效果:
1、删除目录及目录下所有的文件
2、删除目录下的所有文件但目录结构保留
3、删除指定文件
代码如下:
- /**
- +-----------------------------------------------------------------------------------------
- * 删除目录及目录下所有文件或删除指定文件
- +-----------------------------------------------------------------------------------------
- * @param str $path 待删除目录路径
- * @param int $delDir 是否删除目录,1或true删除目录,0或false则只删除文件保留目录(包含子目录)
- +-----------------------------------------------------------------------------------------
- * @return bool 返回删除状态
- +-----------------------------------------------------------------------------------------
- */
- function delDirAndFile($path, $delDir = FALSE) {
- if (is_array($path)) {
- foreach ($path as $subPath)
- delDirAndFile($subPath, $delDir);
- }
- if (is_dir($path)) {
- $handle = opendir($path);
- if ($handle) {
- while (false !== ( $item = readdir($handle) )) {
- if ($item != "." && $item != "..")
- is_dir("$path/$item") ? delDirAndFile("$path/$item", $delDir) : unlink("$path/$item");
- }
- closedir($handle);
- if ($delDir)
- return rmdir($path);
- }
- } else {
- if (file_exists($path)) {
- return unlink($path);
- } else {
- return FALSE;
- }
- }
- clearstatcache();
- }
复制代码
这个函数和unlink有什么不一样?如果知道要删除的是一个文件可以直接使用unlink函数,如果不知道要删除的是一个文件还是文件件就可以使用上面的函数
|
|