php 递归删除目录以及多级子目录所有文件代码实例

 更新时间:2016年11月25日 15:57  点击:1424

class cacheClearFile{
 
 var $dir = '111cn.Net'; 
 
 function __construct()
 {
  $this->listFils(); 
 }  

  
 function listFils()
 {
  if(is_dir($this->dir))
  { 
   if($dir_file=opendir($this->dir))
   {
    while(($dir_list=readdir($dir_file))!==false)
    {
     if($dir_list!="." && $dir_list!="..")
     {
      if( is_file($dir_list)
      {
       unlink($dir_list);
      }
      else
      {
       $this->dir =$dir_list;
       listFils();
      }     
     }
    }
   }else{
    echo("目录不能打开");
   }
  }
  else
  {
   echo("不是目录");
  }
 }
}

//实例调用方法

new cacheClearFile();

/*
只用了一句就OK了,因为我们用了构造函数所以只在创建类他就会自动给执行了。
本站原创文章转载注明出处 www.111cn.net 中国WEB第一站

简单说一下就是
-> 调用对象的成员
=> 指定下标

下面来看几个实例关于-> 与=>代码,让你更清楚是什么用法与功能并且有什么区别了。
*/
// =>用法,可用到数组array,赋值与foreach赋值

$array = array("addr" => "www.111cn.net","tel" => "11111111");

print_r($array);

/*
结果为
Array
(
    [addr] => www.111cn.net
    [tel] => 11111111
)
*/

//用来foreach实例

foreach( $array as $v =>$_v )
{
 echo $_v,'<br />';
}

/*
结果
www.111cn.net
11111111

*/

// ->用法上面说了是用于对象的,那我们就来做个实验

class user{
 var $url ='www.111cn.net';
 
 public function showUrl()
 {
  echo $this->url;
 }
}

//调用 user类方法

$u = new user();
$u->showUrl();

/*
输出结果为 www.111cn.net

本文章原创于www.111cn.net[中国WEB第一站]转载注明来源

<?php教程
//全国,判断条件是$REQUEST_URI是否含有html
if (!strpos($_SERVER["REQUEST_URI"],".html"))
{
$page="http://qq.ip138.com/weather/";
$html = file_get_contents($page,'r');
$pattern="/<B>全国主要城市、县当天和未来五天天气趋势预报在线查询</B>(.*?)<center style="padding:3px">/si";
//正则匹配之间的html
preg_match($pattern,$html,$pg);
echo "";
//正则替换远程地址为本地地址
$p=preg_replace('//weather/(w+)/index.htm/', 'tq.php/$1.html', $pg[1]);
echo $p;
}
//省,判断条件是$REQUEST_URI是否含有?
else if(!strpos($_SERVER["REQUEST_URI"],"?")){
//yoyo推荐的使用分割获得数据,这里是获得省份名称
$province=explode("/",$_SERVER["REQUEST_URI"]);
$province=explode(".",$province[count($province)-1]);
$province=$province[0];
//被注释掉的是我自己写出来的正则,感觉写的不好,但效果等同上面
//preg_match('/[^/]+[.(html)]$/',$_SERVER["REQUEST_URI"],$pro);
//$province=preg_replace('/.html/','',$pro[0]);
$page="http://qq.ip138.com/weather/".$province."/index.htm";
//获取html数据之前先尝试打开页面,防止恶意输入地址导致出错
if (!@fopen($page, "r")) {
die("对不起,该地址不存在!<a href=javascript教程:history.back(1)>点击这里返回</a>");
exit(0);
}
$html = file_get_contents($page,'r');
$pattern="/五天天气趋势预报</B>(.*?)请输入输入市/si";
preg_match($pattern,$html,$pg);
echo "";
//正则替换,获取省份,城市
$p=preg_replace('//weather/(w+)/(w+).htm/', '$2.html?pro=$1', $pg[1]);
echo $p;
}
else {
//市,通过get传递省份
$pro=$_REQUEST['pro'];
$city=explode("/",$_SERVER["REQUEST_URI"]);
$city=explode(".",$city[count($city)-1]);
$city=$city[0];
//preg_match('/[^/]+[.(html)]+[?]/',$_SERVER["REQUEST_URI"],$cit);
//$city=preg_replace('/.html?/','',$cit[0]);
$page="http://qq.ip138.com/weather/".$pro."/".$city.".htm";
if (!@fopen($page, "r")) {
die("对不起,该地址不存在!<a href=javascript:history.back(1)>点击这里返回</a>");
exit(0);
}
$html = file_get_contents($page,'r');
$pattern="/五天天气趋势预报</B>(.*?)请输入输入市/si";
preg_match($pattern,$html,$pg);
echo "";
//获取真实的图片地址
$p=preg_replace('//image//', 'http://qq.ip138.com/image/', $pg[1]);
echo $p;
}
?>

php是外国人做的,在中文支持上有些地方做得不完美,就在我们文件上传时就发现了,上传中文竟然不成功,
下面我们来看看实例与解决方法吧。
*/
$filepath ='upfile/';

if ($_FILES['file']['error']==0)
{
    
 if( move_uploaded_file($_FILES['file']['tmp_name'],$filepath.$_FILES['file']['name']))
 {
  echo '文件上传成功';
 }
 else
 {
  echo '文件上传失败';
 }
}


/*
.....
上面是一段简单的文件上传代码,传英语的是没有问题,但是中文的就不会成功了,好了,那我们如何处理中文文件名上传失败问题呢。
方法很简单就是对上传的文件名重命名就OK了,下面我们把程序修改一下。如下。
*/

if ($_FILES['file']['error']==0){
   
    $ext = end(explode('.',$_FILES['file']['name']));
 $fileRandName = time(); //根据当前时间生成一个字符串
 
 if( move_uploaded_file($_FILES['file']['tmp_name'],$filepath.$fileRandName.'.'.$ext))
 {
  echo '文件上传成功';
 }
 else
 {
  echo '文件上传失败';
 }
}

//这样不管你上传的是什么文件都OK了。
//本站原创文章转载注明来自www.111cn.net

 $time = '2010-1-11';
 
 //定义一个日间我相把把它变成2010-01-1
 
 $splitDate = explode("-",$time);
 
 //进行拆分以"-"分开
 
 $stime = mktime(0,0,0,$splitDate[1],$splitDate[2],$splitDate[0]);
 
 //再用mktime把它转换成时间载
 
 if( intval( $splitDate[1] )<10 && substr( $splitDate[1],0,1) !='0' )
 {
  $splitDate[1] = '0'.$splitDate[1];
 }
 //对月分取一个数字判断如果是01这种格式就不操作反之就加个0
 
 if( intval( $splitDate[2] )<10 && substr( $splitDate[2],0,1) !='0' )
 {
  $splitDate[2] = '0'.$splitDate[2];
 }
 //对日期作同样的作了,小于10就补0
 
 /*
  函数分析:
   explode 使用一个字符串分割另一个字符串 array explode ( string separator, string string [, int limit] )
   <a href=/phper/21/101d7c9a91356a428c8039c03dd4500b.htm>mktime</a>  函数返回一个日期的 Unix 时间戳。 mktime(hour,minute,second,month,day,year,is_dst)
   <a href=/phper/18/9351c693420d88336920eb2c12fca245.htm>intval</a> int intval ( mixed var [, int base])
通过使用特定的进制转换(默认是十进制),返回变量 var 的 integer 数值。

   substr  函数返回字符串的一部分 substr(string,start,length)
   
 */
 ?>

本站原创教程,转载注明来自www.111cn.net

[!--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
  • 解决python 使用openpyxl读写大文件的坑

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

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

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • 删除条目时弹出的确认对话框

    复制代码 代码如下: <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
  • Zend studio文件注释模板设置方法

    步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04
  • C++万能库头文件在vs中的安装步骤(图文)

    这篇文章主要介绍了C++万能库头文件在vs中的安装步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
  • php文件上传你必须知道的几点

    本篇文章主要说明的是与php文件上传的相关配置的知识点。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dir、upload_max_filesize、post_max_size等选项,下面一一说明。打开php.ini配置文件找到File Upl...2015-10-21
  • ant design中upload组件上传大文件,显示进度条进度的实例

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

    这篇文章主要介绍了C#使用StreamWriter写入文件的方法,涉及C#中StreamWriter类操作文件的相关技巧,需要的朋友可以参考下...2020-06-25
  • php实现文件下载实例分享

    举一个案例:复制代码 代码如下:<?phpclass Downfile { function downserver($file_name){$file_path = "./img/".$file_name;//转码,文件名转为gb2312解决中文乱码$file_name = iconv("utf-8","gb2312",$file_name...2014-06-07
  • php跨网站请求伪造与防止伪造方法

    伪造跨站请求介绍伪造跨站请求比较难以防范,而且危害巨大,攻击者可以通过这种方式恶作剧,发spam信息,删除数据等等。...2013-10-01