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 的几个配置文件函数
Dec 21 PHP
PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
Jul 04 PHP
邮箱正则表达式实现代码(针对php)
Jun 21 PHP
PHP中redis的用法深入解析
Feb 20 PHP
php站内搜索关键词变亮的实现方法
Dec 30 PHP
解决ThinkPHP关闭调试模式时报错的问题汇总
Apr 22 PHP
php文件操作之小型留言本实例
Jun 20 PHP
php unlink()函数使用教程
Jul 12 PHP
PHP中Session ID的实现原理实例分析
Aug 17 PHP
php实现通过stomp协议连接ActiveMQ操作示例
Feb 23 PHP
TP5框架使用QueryList采集框架爬小说操作示例
Mar 26 PHP
PHP开发api接口安全验证操作实例详解
Mar 26 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 搜索框提示(自动完成)实例代码
2012/02/05 PHP
thinkphp制作404跳转页的简单实现方法
2016/09/22 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
我也种棵OO树JXTree[js+css+xml]
2007/04/02 Javascript
基于jQuery的Tab选项框效果代码(插件)
2011/03/01 Javascript
js获取location.href的参数实例代码
2013/08/02 Javascript
jquery 层次选择器siblings与nextAll的区别介绍
2013/08/02 Javascript
JavaScript获取客户端计算机硬件及系统等信息的方法
2014/01/02 Javascript
基于jquery实现在线选座订座之影院篇
2015/08/24 Javascript
jQuery购物车插件jsorder用法(支持后台处理程序直接转换成DataTable处理)
2016/06/08 Javascript
jQuery实现查找最近父节点的方法
2016/06/23 Javascript
微信小程序 网络API发起请求详解
2016/11/09 Javascript
bootstrapValidator 重新启用提交按钮的方法
2017/02/20 Javascript
angular实现图片懒加载实例代码
2017/06/08 Javascript
浅谈layui使用模板引擎动态渲染元素要注意的问题
2019/09/14 Javascript
JS中==、===你分清楚了吗
2020/03/04 Javascript
Vue实现浏览器打印功能的代码
2020/04/17 Javascript
Javascript原型链及instanceof原理详解
2020/05/25 Javascript
Webpack的Loader和Plugin的区别
2020/11/09 Javascript
js前端对于大量数据的展示方式及处理方法
2020/12/02 Javascript
[02:37]TI8勇士令状不朽珍藏II视频展示
2018/06/23 DOTA
基于python的汉字转GBK码实现代码
2012/02/19 Python
Python matplotlib画图实例之绘制拥有彩条的图表
2017/12/28 Python
Tensorflow使用tfrecord输入数据格式
2018/06/19 Python
Python实现模拟登录网易邮箱的方法示例
2018/07/05 Python
使用python快速在局域网内搭建http传输文件服务的方法
2019/11/14 Python
HTML5中实现拖放效果无须借助javascript
2012/12/26 HTML / CSS
澳大利亚个性化儿童礼品网站:Bright Star Kids
2019/06/14 全球购物
介绍一下Java的事务处理
2012/12/07 面试题
简历中的自我评价怎么写
2014/01/29 职场文书
大学老师推荐信
2014/02/25 职场文书
我们的节日元宵活动方案
2014/08/23 职场文书
婚礼女方父母答谢词
2015/01/04 职场文书
学校中秋节活动总结
2015/03/23 职场文书
法人身份证明书
2015/06/18 职场文书
python中%格式表达式实例用法
2021/06/18 Python