转载一个thinkphp 删除文件以及目录的方法
2017-08-10 11:54
555 查看
/**
+-----------------------------------------------------------------------------------------
* 删除目录及目录下所有文件或删除指定文件
+-----------------------------------------------------------------------------------------
* @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();
}
来自:http://www.thinkphp.cn/code/138.html
路径要注意,我本地测试使用的绝对路径才成功,thinkphp3.1版本,其他版本不知道啊
+-----------------------------------------------------------------------------------------
* 删除目录及目录下所有文件或删除指定文件
+-----------------------------------------------------------------------------------------
* @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();
}
来自:http://www.thinkphp.cn/code/138.html
路径要注意,我本地测试使用的绝对路径才成功,thinkphp3.1版本,其他版本不知道啊
相关文章推荐
- 删除一个目录下部分类型之外的所有文件的三种方法
- python删除文件与目录的方法 转载
- 删除所有svn文件(一个目录和其各级子目录下的) 两种方法
- 删除一个目录下部分类型之外的所有文件的三种方法
- 利用ThinkPHP自带的七牛云驱动上传文件到七牛云以及删除七牛云文件方法
- 删除一个目录下部分类型之外的所有文件的三种方法
- 递归的一些方法使用:深度遍历路径中的所有文件和目录,删除一个有文件的文件夹
- linux shell判断一个文件名判断它是目录还是文件以及在windows下出现"syntax error near unexpected token"的解决方法
- Python简单删除目录下文件以及文件夹的方法
- Python简单删除目录下文件以及文件夹的方法
- C++ 删除一个文件目录下的所有文件以及目录
- C++ 删除一个文件目录下的所有文件以及目录
- 移动硬盘删除文件时提示“文件或目录损坏且无法读取”的解决方法-chkdsk 命令的巧用
- 一个目录下有大量文件时的删除
- 删除一个目录下面的所有可执行文件
- linux中巧用xargs删除另外一个目录中的同名文件
- Java删除文件夹以及文件夹下的子目录与文件
- linux删除一个目录下的所有空文件
- 批量删除一个目录下的文件
- AIX link ln 将一个目录链接到另外一个文件系统的目录 -- ln link 创建与删除