三种php删除指定目录下所有文件与目录

 更新时间:2016年11月25日 15:56  点击:2292
 代码如下 复制代码
function DeltreeDir($dir)  {
$dir = realpath($dir);
        if (!$dir || !@is_dir($dir))
                return 0;
        $handle = @opendir($dir);
        if ($dir[strlen($dir) - 1] != DIRECTORY_SEPARATOR)
                $dir .= DIRECTORY_SEPARATOR;
        while ($file = @readdir($handle))    {
                if ($file != '.' && $file != '..')         {
                        if (@is_dir($dir . $file) && !is_link($dir . $file))
                                DeltreeDir($dir . $file);
                        else
                                @unlink($dir . $file);
                }
        }
        closedir($handle);
        @rmdir($dir);
}

//实例二

//循环删除目录和文件函数

 代码如下 复制代码
function delDirAndFile( $dirName )
{
if ( $handle = opendir( "$dirName" ) ) {
  while ( false !== ( $item = readdir( $handle ) ) ) {
   if ( $item != "." && $item != ".." ) {
   if ( is_dir( "$dirName/$item" ) ) {
   delDirAndFile( "$dirName/$item" );
   } else {
   if( unlink( "$dirName/$item" ) )echo "成功删除文件: $dirName/$item<br /> ";
   }
   }
   }
   closedir( $handle );
   if( rmdir( $dirName ) )echo "成功删除目录: $dirName<br /> ";
}
}

// 实例三

 代码如下 复制代码
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 /> ";
   }
   }
   }
   closedir( $handle );
}
}

delDirAndFile( 'www.111cn.net');

//上面三种删除目录与目录下所有文件与空目录的实例,都是以遍历来做,也就是递归来一个个讲再判断就OK了。

 

*/

//删除目录下文件方法一

 代码如下 复制代码

function clean_dir($path)        {
        if (!is_dir($path))        {
                if (is_file($path))        {
                        unlink($path);
                }
                return;
        }
        $p=opendir($path);
        while ($f=readdir($p))        {
                if ($f=="." || $f=="..") continue;
                clean_dir($path.$f);
        }
        rmdir($path);
        return;
}
//

function delFile($path,$level = 0) {

// $path $file

//删除目录下所有文件实例二

$file = "";

$lev = 0;

$dir = @opendir($path);

while($con = @readdir($dir)) {

  if($con != "." && $con != ".." && $con != "") {

   $file = $path."/".$con;

   if(is_dir($file)) {

    $lev = delFile($file,$level++);

    @rmdir($file);

   } else {

    @unlink($file);

   }

  }

}
for($i=0;$i<$lev;$i++) {

  delFile($path,$level);

}

@rmdir($path);

return $level;

}

delFile("./www.111cn.net");


//目录遍历函数

 代码如下 复制代码
function dirtree($path="./test") {
  echo "<dl>";
  $d = dir($path);
  while(false !== ($v = $d->read())) {
    if($v == "."
$v == "..")
      continue;
    $file = $d->path."/".$v;
    echo "<dt>$v";
    if(is_dir($file))
      dirtree($file);
  }
  $d->close();
  echo "</dl>";
}

dirtree();

//php的文件系统函数比起asp教程来要强多了,删除目录所有文件只要用unlink就行了,我们只要对目录对遍历再is_file就OK了。
//本站整理转载注明www.111cn.net

/*
1、嵌入方法:
类似ASP的<%,PHP可以是<?php或者是<?,结束符号是?>,当然您也可以自己指定。

2、引用文件:
引用文件的方法有两种:require及include。
require的使用方法如:require("MyRequireFile.php");
这个函数通常放在PHP程序的最前面,PHP程序在执行前,就会先读入require所指定引入的文件,使它变成PHP程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。
include使用方法如:include("MyIncludeFile.php");
这个函数一般是放在流程控制的处理部分中。PHP程序网页在读到include的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。


echo "这是第一种例子。 " ; // 本例是C++语法的注释
 本例采用多行的
注释方式
echo "这是第二种例子。 " ;
echo "这是第三种例子。 " ; # 本例使用UNIX Shell语法注释
4、变量类型:

 代码如下 复制代码
$mystring = "我是字符串" ;
$NewLine = "换行了 " ;
$int1 = 38 ;
$float1 = 1.732 ;
$float2 = 1.4E+2 ;


$MyArray1 = array( "子" , "丑" , "寅" , "卯" );
这里引出两个问题,首先PHP变量以$开头,第二PHP语句以;结尾,可能ASP程序员会不适应。这两个遗漏也是程序上大多错误所在。

5、运算符号:

数学运算:
符号 意义
+  加法运算
-  减法运算
*  乘法运算
/  除法运算
%  取余数
++  累加
--  递减

字符串运算:
运算符号只有一个,就是英文的句号。它可以将字符串连接起来,变成合并的新字符串。类似ASP中的&

<?
$a = "PHP 4" ;
$b = "功能强大" ;
echo $a.$b;
?>

这里也引出两个问题,首先PHP中输出语句是echo,第二类似ASP中的<%=变量%>,PHP中也可以<?=变量?>。

逻辑运算:
符号 意义
<  小于
>  大于
<=  小于或等于
>=  大于或等于
==  等于
!=  不等于
&&  而且 (And)
and  而且 (And)
||  或者 (Or)
or  或者 (Or)
xor  异或 (Xor)
!  不 (Not)

// 函数名:CheckMoney($C_Money)    
// 作 用:检查数据是否是99999.99格式    
// 参 数:$C_Money(待检测的数字)    
// 返回值:布尔值    
// 备 注:无    
//-----------------------------------------------------------------------------------    
-------    

 代码如下 复制代码
function CheckMoney($C_Money)    
{    
if (!ereg("^[0-9][.][0-9]$", $C_Money)) return false;    
return true;    
}    


//-----------------------------------------------------------------------------------    
-------   
  
  
//-----------------------------------------------------------------------------------    
-------    
// 函数名:CheckEmailAddr($C_mailaddr)    
// 作 用:判断是否为有效邮件地址    
// 参 数:$C_mailaddr(待检测的邮件地址)    
// 返回值:布尔值    
// 备 注:无    
//-----------------------------------------------------------------------------------    
-------    

 代码如下 复制代码
function CheckEmailAddr($C_mailaddr)    
{    
if (!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$",    
$C_mailaddr))    
//(!ereg("^[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*@[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*$",    
$c_mailaddr))    
{    
return false;    
}    
return true;    
}    


//-----------------------------------------------------------------------------------    
-------   
  
  
//-----------------------------------------------------------------------------------    
-------    
// 函数名:CheckWebAddr($C_weburl)    
// 作 用:判断是否为有效网址    
// 参 数:$C_weburl(待检测的网址)    
// 返回值:布尔值    
// 备 注:无    
//-----------------------------------------------------------------------------------    
-------    

 代码如下 复制代码
function CheckWebAddr($C_weburl)    
{    
if (!ereg("^http://[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*$", $C_weburl))    
{    
return false;    
}    
return true;    
}    


//-----------------------------------------------------------------------------------    
-------   
  
  
//-----------------------------------------------------------------------------------    
-------    
// 函数名:CheckEmpty($C_char)    
// 作 用:判断字符串是否为空    
// 参 数:$C_char(待检测的字符串)    
// 返回值:布尔值    
// 备 注:无    
//-----------------------------------------------------------------------------------    
-------    

 代码如下 复制代码
function CheckEmptyString($C_char)    
{    
if (!is_string($C_char)) return false; //是否是字符串类型    
if (emptyempty($C_char)) return false; //是否已设定    
if ($C_char=='') return false; //是否为空    
return true;    
}    


//-----------------------------------------------------------------------------------    
-------   
  
//-----------------------------------------------------------------------------------    
-------    
// 函数名:CheckLengthBetween($C_char, $I_len1, $I_len2=100)    
// 作 用:判断是否为指定长度内字符串    
// 参 数:$C_char(待检测的字符串)    
// $I_len1 (目标字符串长度的下限)    
// $I_len2 (目标字符串长度的上限)    
// 返回值:布尔值    
// 备 注:无    
//-----------------------------------------------------------------------------------    
-------    

 代码如下 复制代码
function CheckLengthBetween($C_cahr, $I_len1, $I_len2=100)    
{    
$C_cahr = trim($C_cahr);    
if (strlen($C_cahr) < $I_len1) return false;    
if (strlen($C_cahr) > $I_len2) return false;    
return true;    
}    


//-----------------------------------------------------------------------------------    
-------   
  
//-----------------------------------------------------------------------------------    
-------    
// 函数名:CheckUser($C_user)    
// 作 用:判断是否为合法用户名    
// 参 数:$C_user(待检测的用户名)    
// 返回值:布尔值    
// 备 注:无    
//-----------------------------------------------------------------------------------    
-------    

 代码如下 复制代码
function CheckUser($C_user)    
{    
if (!CheckLengthBetween($C_user, 4, 20)) return false; //宽度检验    
if (!ereg("^[_a-zA-Z0-9]*$", $C_user)) return false; //特殊字符检验    
return true;    
}    

//-----------------------------------------------------------------------------------    
-------   
  
//-----------------------------------------------------------------------------------    
-------    
// 函数名:CheckPassword($C_passwd)    
// 作 用:判断是否为合法用户密码    
// 参 数:$C_passwd(待检测的密码)    
// 返回值:布尔值    
// 备 注:无    
//-----------------------------------------------------------------------------------    
-------    

 代码如下 复制代码
function CheckPassword($C_passwd)    
{    
if (!CheckLengthBetween($C_passwd, 4, 20)) return false; //宽度检测    
if (!ereg("^[_a-zA-Z0-9]*$", $C_passwd)) return false; //特殊字符检测    
return true;  
 代码如下 复制代码


function poWrite($filename,$data,$method='rb+',$iflock=1,$check=1,$chmod=1){   
    touch($filename);   
    $handle = fopen($filename,$method);   
    $iflock && flock($handle,LOCK_EX);   
    if(@fwrite($handle,$data)=== FALSE){   
        fclose($handle);   
        return false;   
    }   
    $method=='rb+' && ftruncate($handle,strlen($data));   
    fclose($handle);   
    $chmod && @chmod($filename,0777);   
    return true;   
}

function poVarExport($input,$f = true,$t = null) {   
    $output = '';   
    if(is_array($input)){   
        $output .= "array( ";   
        foreach($input as $key => $value){   
            $output .= $t." ".poVarExport($key,$f,$t." ").' => '.poVarExport($value,$f,$t." ");   
            $output .= ", ";   
        }   
        $output .= $t.')';   
    } elseif(is_string($input)){   
        $output .= $f ? "'".str_replace(array("\","'"),array("\\","'"),$input)."'" : "'$input'";  
    } elseif(is_int($input) || is_double($input)){  
        $output .= "'".(string)$input."'";   
    } elseif(is_bool($input)){   
        $output .= $input ? 'true' : 'false';   
    } else{   
        $output .= 'null';   
    }   
    return $output;   
}   

poWrite(INCLUDES."filename.php","<?php $celltype = ".poVarExport($arrayname)."; ?>");

[!--infotagslink--]

相关文章

  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • Jupyter Notebook读取csv文件出现的问题及解决

    这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06
  • 解决Pycharm的项目目录突然消失的问题

    今天小编就为大家分享一篇解决Pycharm的项目目录突然消失的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-22
  • Photoshop打开PSD文件空白怎么解决

    有时我们接受或下载到的PSD文件打开是空白的,那么我们要如何来解决这个 问题了,下面一聚教程小伙伴就为各位介绍Photoshop打开PSD文件空白解决办法。 1、如我们打开...2016-09-14
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • 解决python 使用openpyxl读写大文件的坑

    这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
  • C#实现HTTP下载文件的方法

    这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • SpringBoot实现excel文件生成和下载

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
  • 删除条目时弹出的确认对话框

    复制代码 代码如下: <td> <a href="/member/life/edit_ppt/<?php echo $v->id;?>" class="btn">编辑</a> <a href="javascript:;" onclick="if(confirm('您确定删除这条记录?')){location.href='/member/life/d...2014-06-07
  • php无刷新利用iframe实现页面无刷新上传文件(1/2)

    利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25
  • php批量替换内容或指定目录下所有文件内容

    要替换字符串中的内容我们只要利用php相关函数,如strstr,str_replace,正则表达式了,那么我们要替换目录所有文件的内容就需要先遍历目录再打开文件再利用上面讲的函数替...2016-11-25
  • PHP文件上传一些小收获

    又码了一个周末的代码,这次在做一些关于文件上传的东西。(PHP UPLOAD)小有收获项目是一个BT种子列表,用户有权限上传自己的种子,然后配合BT TRACK服务器把种子的信息写出来...2016-11-25
  • AI源文件转photoshop图像变模糊问题解决教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说下AI源文件转photoshop图像变模糊问题的解决教程,各位想知道具体解决方法的使用者们,那么下面就快来跟着小编...2016-09-14
  • jQuery动态添加与删除tr行实例代码

    最近由于项目的需要,需要动态的添加和删除table中的tr,感觉用JS可以实现,但是在网上找了一下,单纯的自己写JS,感觉太麻烦,而且也不好维护。于是想到了最近学的jQuery。这篇文章给大家用实例介绍了jQuery动态添加与删除tr行的方法,有需要的朋友们可以参考借鉴。...2016-10-20
  • C++万能库头文件在vs中的安装步骤(图文)

    这篇文章主要介绍了C++万能库头文件在vs中的安装步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
  • Zend studio文件注释模板设置方法

    步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04
  • C#路径,文件,目录及IO常见操作汇总

    这篇文章主要介绍了C#路径,文件,目录及IO常见操作,较为详细的分析并汇总了C#关于路径,文件,目录及IO常见操作,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • php文件上传你必须知道的几点

    本篇文章主要说明的是与php文件上传的相关配置的知识点。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dir、upload_max_filesize、post_max_size等选项,下面一一说明。打开php.ini配置文件找到File Upl...2015-10-21
  • C#使用StreamWriter写入文件的方法

    这篇文章主要介绍了C#使用StreamWriter写入文件的方法,涉及C#中StreamWriter类操作文件的相关技巧,需要的朋友可以参考下...2020-06-25
  • ant design中upload组件上传大文件,显示进度条进度的实例

    这篇文章主要介绍了ant design中upload组件上传大文件,显示进度条进度的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-29