php删除文件程序代码
发布:smiling 来源: PHP粉丝网 添加日期:2014-01-16 15:02:56 浏览: 评论:0
在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;
- }
- ?>
Tags: php 删除 文件 unlink
相关文章
- ·php 读取目录所有文件信息dir()(2013-11-12)
- ·php获取当前文件所有执行的函数和类(2013-11-12)
- ·php检查文件是否可读和可写(2013-11-14)
- ·PHP文件操作方法问答 (2013-11-14)
- ·PHP 文件操作概述 (2013-11-14)
- ·php文件操作和获取文件信息数据 (2013-11-14)
- ·PHP开发中文件操作疑难问答(2013-11-27)
- ·php判断文件是否存在file_exists 与 is_file详解(2013-11-29)
- ·PHP 获取文件扩展名的方法(2013-11-29)
- ·PHP中读写文件(2013-11-29)
- ·PHP操作文件问答(2013-12-08)
- ·php 显示指定目录所有子文件夹(2013-12-11)
- ·php文件操作(2013-12-11)
- ·php判断文件是否存在(2013-12-16)
- ·php 浏览目录(2013-12-19)
- ·php如何获取文件夹大小程序代码(2014-01-05)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)