php删除文件程序代码
在php中要删除文件我们需要使用php提供的unlink()文件删除函数,下面我来给大家详细介绍利用unlink删除文件的方法,有需要的朋友可参考本教程。
unlink(filename,context)
例代码如下:
if (unlink( $file_delete )) { echo "The file was deleted successfully." , "n" ; } else { echo "The specified file could not be deleted. Please try again." , "n" ; }判断文件是否存在,代码如下:
$myfile = "./test1.txt" ; if ( file_exists ( $myfile )) { $result =unlink ( $myfile ); echo $result ; }批量删除文件,代码如下:
function delFileUnderDir( $dirName = "Smarty/templates/templates_c" ) { 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<br />n" ; } } } closedir ( $handle ); } }delDirAndFile( 'www.phpfensi.com' );删除目录下文件并指定那些不删除,代码如下:
<?php header( "content-Type: text/html; charset=utf-8" ); //配置开始 $path = "." ; //在些设置所删除的目录.为当前目录 如:删除path目录,引号里请添path; $guolv = "del.php,install.php,path" ; //设置需要过滤的文件或文件夹用英文状态下,号分隔 //配置结束 if ( $_GET [ 'action' ]== "del" ){ $file = array_values_recursive(recurdir( $path , $guolv )); foreach ( $file as $k => $v ){ remove_directory( $v ); } } else { echo "您的配置如下<br> 要删除的目录为: "; if ( $path == "." ) echo "当前目录" ; else echo $path ; echo "<br>您要过滤的文件或文件夹有:" . $guolv ."<br> 如果确认过滤请<a href= '?action=del' >点击此处开始删除相应的目录及目录下的所有文件</a>,如果配置不正确请到文件中修改 "; } //删除目录及文件 function remove_directory( $dir ) { foreach ( glob ( $dir ) as $fn ) { echo " removing $fn<br>n" ; if (! is_writable ( $fn ))@ chmod ( $fn , 0777); if ( is_dir ( $fn )){@ rmdir ( $fn );} else {@unlink( $fn );} } } //扫描目录 function recurdir( $pathname , $guolv = 'del.php' ) { $result = array (); $temp = array (); //检查目录是否有效和可读 if (! is_dir ( $pathname ) || ! is_readable ( $pathname )) return null; //得到目录下的所有文件夹 $allfiles =scandir( $pathname ); foreach ( $allfiles as $key => $filename ) { //如果是[.]或者[..]的话则略过 if (in_array( $filename , array ( '.' , '..' ))) continue ; if ( count ( $guolv )>0){ $lv = explode ( "," , $guolv ); if (in_array( $filename , $lv )) continue ;} //得到文件完整名字 $fullname = $pathname . "/" . $filename ; //如果该文件是目录的话,递归调用recurdir $temp []= $fullname ; if ( is_dir ( $fullname )){ $nowpath = explode ( "/" , $fullname ); if ( count ( $guolv )>0){ $lv = explode ( "," , $guolv ); if (in_array( $nowpath [ count ( $nowpath )-1], $lv )) continue ;} $result [ $filename ] = recurdir( $fullname );} } //最后把临时数组中的内容添加到结果数组,确保目录在前,文件在后 foreach ( $temp as $f ){ $result []= $f ; } return $result ; } //获取所有文件 function array_values_recursive( $ary ) { $lst = array (); foreach ( array_keys ( $ary ) as $k ){ $v = $ary [ $k ]; if ( is_array ( $v )) { $lst = array_merge ( $lst , array_values_recursive( $v ));} else { $lst [] = $v ;} } return $lst ; } ?>查看更多关于php删除文件程序代码 - php文件操作的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did27866