在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.phprm.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; } ?>
  | 
 文章地址:http://www.phprm.com/base/46095.html
转载随意^^请带上本文地址!