php删除目录与中文目录代码
要删除目录我们必须先删除目录中的文件才行,在php中删除文件很简单unlink(),删除空目录使用rmdir即可.
例1,代码如下:
function del_dir( $dir ){ { if (! $dir ) { return ; } $cacheDir = $dir ; $dh = opendir( $cacheDir ); while ( $file = readdir( $dh ) ) { //开源代码phpfensi.com if (( $file == '.' ) || ( $file == '..' )) { continue ; } if ( file_exists ( $cacheDir . '/' . $file )) { if ( is_dir ( $cacheDir . '/' . $file )){ del_dir( $cacheDir . '/' . $file ); } elseif (!unlink( $cacheDir . '/' . $file )) { //删除完操作 } } } } }例2,代码如下:
function deldir( $dir ) { //先删除目录下的文件: $dh =opendir( $dir ); while ( $file =readdir( $dh )) { if ( $file != "." && $file != ".." ) { $fullpath = $dir . "/" . $file ; if (! is_dir ( $fullpath )) { unlink( $fullpath ); } else { deldir( $fullpath ); } } } closedir ( $dh ); //删除当前文件夹: if ( rmdir ( $dir )) { return true; } else { return false; } } ?>例3,代码如下:
function removeDir( $dirName ) { if (! is_dir ( $dirName )) //如果传入的参数不是目录,则为文件,应将其删除 { @unlink( $dirName ); //删除文件 return false; } $handle = @opendir( $dirName ); //如果传入的参数是目录,则使用opendir将该目录打开,将返回的句柄赋值给$handle while (( $file = @readdir( $handle )) !== false) //这里明确地测试返回值是否全等于(值和类型都相同)FALSE,否则任何目录项的名称求值为 FALSE 的都会导致循环停止(例如一个目录名为[0])。 { if ( $file != '.' && $file != '..' ) //在文件结构中,都会包含形如[.]和[..]的向上结构,但是它们不是文件或者文件夹 { $dir = $dirName . '/' . $file ; //当前文件$dir为文件目录+文件 is_dir ( $dir )?removeDir( $dir ):@unlink( $dir ); //判断$dir是否为目录,如果是目录则递归调用reMoveDir($dirName)函数,将其中的文件和目录都删除;如果不是目录,则删除该文件 } } closedir ( $handle ); return rmdir ( $dirName ) ; }例4,删除几天前创建的目录,代码如下:
function delfile( $dir , $n ) //删除DIR路径下N天前创建的所有文件; { if ( is_dir ( $dir )) { if ( $dh =opendir( $dir )) { while (false !== ( $file = readdir( $dh ))) { if ( $file != "." && $file != ".." ) { $fullpath = $dir . "/" . $file ; if (! is_dir ( $fullpath )) { $filedate = date ( "Y-m-d" , filemtime ( $fullpath )); $d1 = strtotime ( date ( "Y-m-d" )); $d2 = strtotime ( $filedate ); $Days = round (( $d1 - $d2 )/3600/24); if ( $Days > $n ) unlink( $fullpath ); ////删除文件 } } } } closedir ( $dh ); } } ?>查看更多关于php删除目录与中文目录代码 - php文件操作的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did27803