php定时删除文件夹下文件(清理缓存文件)


Posted in PHP onJanuary 23, 2013

那么有没有方法自动清理临时文件夹呢?

以下代码就是一个简单定时清理文件夹下文件的php代码。
ps:这个代码如果不重启网站会一直执行下去,所以只用作于本地环境测试,请别在网站上测试。

<?php 
ignore_user_abort(); //客户端断开时,可以让脚本继续在后台执行 
set_time_limit(0); //忽略php.ini设置的脚本运行时间限制 
$interval = 5*60; //设置执行周期,单位为秒,5分钟为 5*60=300 
do{ 
$dir = "temp/"; //你的临时目录位置 
$handle=opendir("{$dir}/"); 
while (false !== ($file=readdir($handle))) { 
if ($file!="." && $file!=".." && !is_dir("{$dir}/{$file}")) { 
@unlink ("{$dir}/{$file}"); 
} 
} 
closedir($handle); //关闭由 opendir() 函数打开的目录 
sleep($interval); //执行一个周期后,休眠$interval时间,休眠结束后脚本继续执行 
}while(true); //周期性执行脚本

根据网上的一个思路来的,建一个flag.txt文件,在里面输入1或者0,“0”表示停止执行,“1”表示继续执行。这样的话就可以开始和停止了。

<?php 
$flag = 1; //将执行标志设置为1,默认为执行 
ignore_user_abort(); //客户端断开时,可以让脚本继续在后台执行 
set_time_limit(0); //忽略php.ini设置的脚本运行时间限制 
$interval = 5*60; //设置执行周期,单位为秒,5分钟为 5*60=300 
do{ 
$flagfile = "flag.txt"; //标志放置在文件“flag.txt”中。“0”表示停止执行,“1”表示继续执行 
if(file_exists($flagfile) && is_readable($flagfile)) { //读取文件内容 
$fh = fopen($flagfile,"r"); 
while (!feof($fh)) { 
$flag = fgets($fh); //存储标志 
} 
fclose($fh); 
} 
$dir = "temp/"; //你的临时目录位置 
$handle=opendir("{$dir}/"); 
while (false !== ($file=readdir($handle))) { 
if ($file!="." && $file!=".." && !is_dir("{$dir}/{$file}")) { 
@unlink ("{$dir}/{$file}"); 
} 
} 
closedir($handle); //关闭由 opendir() 函数打开的目录 
sleep($interval); //执行一个周期后,休眠$interval时间,休眠结束后脚本继续执行 
}while($flag);

php删除文件夹及其文件夹下所有文件

<? 
function deldir($dir) { 
//先删除目录下的文件: 
$dh=opendir($dir); 
while ($file=readdir($dh)) { 
if($file!="." && $file!="..") { 
$fullpath=$dir."/".$file; 
if(!is_dir($fullpath)) { 
unlink($fullpath); 
} else { 
deldir($fullpath); 
} 
} 
} 
closedir($dh); 
//删除当前文件夹: 
if(rmdir($dir)) { 
return true; 
} else { 
return false; 
} 
} 
?>

实例:删除某个文件夹下的所有“.svn”文件夹(包括其内容也要被删除).
<?php 
function delsvn($dir) { 
$dh=opendir($dir); 
//找出所有".svn“ 的文件夹: 
while ($file=readdir($dh)) { 
if($file!="." && $file!="..") { 
$fullpath=$dir."/".$file; 
if(is_dir($fullpath)) { 
if($file==".svn"){ 
delsvndir($fullpath); 
}else{ 
delsvn($fullpath); 
} 
} 
} 
} 
closedir($dh); 
} 
function delsvndir($svndir){ 
//先删除目录下的文件: 
$dh=opendir($svndir); 
while($file=readdir($dh)){ 
if($file!="."&&$file!=".."){ 
$fullpath=$svndir."/".$file; 
if(is_dir($fullpath)){ 
delsvndir($fullpath); 
}else{ 
unlink($fullpath); 
} 
} 
} 
closedir($dh); 
//删除目录文件夹 
if(rmdir($svndir)){ 
return true; 
}else{ 
return false; 
} 
} $dir=dirname(__FILE__); 
//echo $dir; 
delsvn($dir); 
?>
PHP 相关文章推荐
PHP XML error parsing SOAP payload on line 1
Jun 17 PHP
php的memcached客户端memcached
Jun 14 PHP
基于php权限分配的实现代码
Apr 28 PHP
php获取网页中图片、DIV内容的简单方法
Jun 19 PHP
PHP实现通用alert函数的方法
Mar 11 PHP
PHP+MYSQL实现用户的增删改查
Mar 24 PHP
PHP+Mysql+jQuery查询和列表框选择操作实例讲解
Oct 22 PHP
php采用session实现防止页面重复刷新
Dec 24 PHP
php获取ajax的headers方法与内容实例
Dec 27 PHP
php微信开发之关注事件
Jun 14 PHP
Laravel学习笔记之Artisan命令生成自定义模板的方法
Nov 22 PHP
Laravel框架Blade模板简介及模板继承用法分析
Dec 03 PHP
PHP关联数组的10个操作技巧
Jan 21 #PHP
用PHP即时捕捉PHP中的错误并发送email通知的实现代码
Jan 19 #PHP
PHP中CURL方法curl_setopt()函数的参数分享
Jan 19 #PHP
php牛逼的面试题分享
Jan 18 #PHP
APACHE的AcceptPathInfo指令使用介绍
Jan 18 #PHP
php图片加水印原理(超简单的实例代码)
Jan 18 #PHP
php加水印的代码(支持半透明透明打水印,支持png透明背景)
Jan 17 #PHP
You might like
如何用C语言编写PHP扩展的详解
2013/06/13 PHP
探讨:parse url解析URL,返回其组成部分
2013/06/14 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
2017/10/19 PHP
给网站上的广告“加速”显示的方法
2007/04/08 Javascript
让IE6支持min-width和max-width的方法
2010/06/25 Javascript
js关闭子窗体刷新父窗体实现方法
2012/12/04 Javascript
js Date概念详细介绍
2013/11/22 Javascript
javascript闭包传参和事件的循环绑定示例探讨
2014/04/17 Javascript
JavaScript原生对象之Date对象的属性和方法详解
2015/03/13 Javascript
jQuery实现带延时功能的水平多级菜单效果【附demo源码下载】
2016/09/21 Javascript
js中getter和setter用法实例分析
2018/08/14 Javascript
微信小程序签到功能
2018/10/31 Javascript
Python json模块使用实例
2015/04/11 Python
Python实用日期时间处理方法汇总
2015/05/09 Python
Django1.7+python 2.78+pycharm配置mysql数据库
2016/10/09 Python
Python运算符重载详解及实例代码
2017/03/07 Python
Collatz 序列、逗号代码、字符图网格实例
2017/06/22 Python
python的pip安装以及使用教程
2018/09/18 Python
使用Python的toolz库开始函数式编程的方法
2018/11/15 Python
Python实现的批量修改文件后缀名操作示例
2018/12/07 Python
PyQt5使用QTimer实现电子时钟
2019/07/29 Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
2019/10/10 Python
基于Python+Appium实现京东双十一自动领金币功能
2019/10/31 Python
kafka监控获取指定topic的消息总量示例
2019/12/23 Python
python匿名函数lambda原理及实例解析
2020/02/07 Python
不到20行实现Python代码即可制作精美证件照
2020/04/24 Python
浅谈Python __init__.py的作用
2020/10/28 Python
使用django自带的user做外键的方法
2020/11/30 Python
很酷的小工具和电子产品商城:GearBest
2016/11/19 全球购物
Notino罗马尼亚网站:购买香水和化妆品
2019/07/20 全球购物
迟到检讨书300字
2014/02/14 职场文书
护林防火标语
2014/06/27 职场文书
单位接收函格式
2015/01/30 职场文书
海上钢琴师观后感
2015/06/03 职场文书
婚前协议书怎么写,才具有法律效力呢 ?
2019/06/28 职场文书
详解Flutter网络请求Dio库的使用及封装
2022/04/14 Java/Android