php删除文件程序代码
在php中要删除文件我们需要使用php提供的unlink()文件删除函数,下面我来给大家详细介绍利用unlink删除文件的方法,有需要的朋友可参考本教程。
unlink(filename,context)
例代码如下:
<?php if (unlink($file_delete)) { echo "The file was deleted successfully.", "n"; } else { echo "The specified file could not be deleted. Please try again.", "n"; } ?>
判断文件是否存在,代码如下:
<?php $myfile = "./test1.txt"; if (file_exists($myfile)) { $result = unlink($myfile); echo $result; } ?>
批量删除文件,代码如下:
<?php 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/wenjian/fs1413.html
转载随意~请带上教程地址吧^^