PHP删除目录及目录下所有文件的方法详解

yipeiwu_com6年前PHP代码库
函数代码一:删除目录及目录下的所有文件
复制代码 代码如下:

//循环删除目录和文件函数
function delDirAndFile( $dirName )
{
if ( $handle = opendir( "$dirName" ) ) {
while ( false !== ( $item = readdir( $handle ) ) ) {
if ( $item != "." && $item != ".." ) {
if ( is_dir( "$dirName/$item" ) ) {
delDirAndFile( "$dirName/$item" );
} else {
if( unlink( "$dirName/$item" ) )echo "成功删除文件: $dirName/$item
\n”;
}
}
}
closedir( $handle );
if( rmdir( $dirName ) )echo “成功删除目录: $dirName
\n”;
}
}
?>

函数代码二:仅删除指定目录下的文件,不删除目录文件夹。
复制代码 代码如下:

//循环目录下的所有文件
function delFileUnderDir( $dirName )
{
if ( $handle = opendir( "$dirName" ) ) {
while ( false !== ( $item = readdir( $handle ) ) ) {
if ( $item != "." && $item != ".." ) {
if ( is_dir( "$dirName/$item" ) ) {
delFileUnderDir( "$dirName/$item" );
} else {
if( unlink( "$dirName/$item" ) )echo "成功删除文件: $dirName/$item
\n”;
}
}
}
closedir( $handle );
}
}
?>

使用方法示例:
假设需要删除一个名叫”upload”的同级目录即此目录下的所有文件,你可以通过以下代码完成:
复制代码 代码如下:

delDirAndFile( 'upload');
?>
假设需要删除一个名叫”upload”目录下的所有文件(但无需删除目录文件夹),你可以通过以下代码完成:
delFileUnderDir( 'upload');
?>

相关文章

php中session_unset与session_destroy的区别分析

session_unset() 释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的session id session_destroy()...

Json_encode防止汉字转义成unicode的方法

大家都知道,json_encode通常会把json中的汉字转义成unicode,但是这并不一定是我们想要的。有时候,我们需要获得汉字形式的json字符串,比如需要获得gbk编码的json...

php设计模式 Interpreter(解释器模式)

复制代码 代码如下: <?php /** * 解释器 示例 * * @create_date: 2010-01-04 */ class Expression { function...

PHP strtok()函数的优点分析

其优点是: 1、可以一次定义多个分隔符。函数在执行时,是按单个分隔符来切割,而不是按整个分隔符,而explode则是按整个分隔串来切割的。正因此,explode可以用中文切割,而str...

浅析PHP开发规范

基本约定 源文件 代码使用<?php开头,忽略闭合标签?> 文件格式必须是无BOM UTF-8格式 一个文件只声明一种类型,如class和interfa...