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 相关文章推荐
header跳转和include包含问题详解
Sep 08 PHP
基于empty函数的输出详解
Jun 17 PHP
迅速确定php多维数组的深度的方法
Jan 07 PHP
php中的strpos使用示例
Feb 27 PHP
ThinkPHP在新浪SAE平台的部署实例
Oct 31 PHP
IIS下PHP的三种配置方式对比
Nov 20 PHP
PHP中使用foreach()遍历二维数组的简单实例
Jun 13 PHP
PHP入门教程之会话控制技巧(cookie与session)
Sep 11 PHP
PHP实现找出有序数组中绝对值最小的数算法分析
Aug 07 PHP
PHP实现打包下载文件的方法示例
Oct 07 PHP
php框架CodeIgniter使用redis的方法分析
Apr 13 PHP
laravel框架与其他框架的详细对比
Oct 23 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
PHP中exec与system用法区别分析
2014/09/22 PHP
PHP模块memcached使用指南
2014/12/08 PHP
PHP魔术方法的使用示例
2015/06/23 PHP
如何使用微信公众平台开发模式实现多客服
2016/01/06 PHP
thinkphp配置文件路径的实现方法
2016/08/30 PHP
jQuery 获取对象 基本选择与层级
2010/05/31 Javascript
JS面向对象编程之对象使用分析
2010/08/19 Javascript
js简单实现表单中点击按钮动态增加输入框数量的方法
2015/08/18 Javascript
关于JS中的apply,call,bind的深入解析
2016/04/05 Javascript
Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
2016/04/29 Javascript
JS上传组件FileUpload自定义模板的使用方法
2016/05/10 Javascript
AngularJS使用自定义指令替代ng-repeat的方法
2016/09/17 Javascript
jQuery中的一些小技巧
2017/01/18 Javascript
canvas绘制七巧板
2017/02/03 Javascript
js 获取html5的data属性实现方法
2017/07/28 Javascript
浅谈NodeJs之数据库异常处理
2017/10/25 NodeJs
javascript数据结构之多叉树经典操作示例【创建、添加、遍历、移除等】
2018/08/01 Javascript
详解在React中跨组件分发状态的三种方法
2018/08/09 Javascript
巧妙运用v-model实现父子组件传值的方法示例
2019/04/07 Javascript
Nodejs异步流程框架async的方法
2019/06/07 NodeJs
详解一些适用于Node.js的命名约定
2019/12/08 Javascript
vue 判断元素内容是否超过宽度的方式
2020/07/29 Javascript
微信小程序实现首页弹出广告
2020/12/03 Javascript
跟老齐学Python之关于类的初步认识
2014/10/11 Python
Python加载带有注释的Json文件实例
2018/05/23 Python
html5 canvas实现给图片添加平铺水印
2019/08/20 HTML / CSS
Finishline官网:美国一家领先的运动品牌鞋类、服装零售商
2016/07/20 全球购物
庆七一活动方案
2014/01/25 职场文书
十八大报告观后感
2014/01/28 职场文书
办公室主任职责范本
2014/03/07 职场文书
贷款承诺书范文
2014/05/19 职场文书
教师学习群众路线心得体会
2014/11/04 职场文书
经典导游欢迎词
2015/01/26 职场文书
慈善募捐倡议书
2015/04/27 职场文书
2015年材料员工作总结
2015/04/30 职场文书
投资合作意向书范本
2015/05/08 职场文书