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 相关文章推荐
mysql limit查询优化分析
Nov 12 PHP
10个可以简化php开发过程的MySQL工具
Apr 11 PHP
php实现数组筛选奇数和偶数示例
Apr 11 PHP
ThinkPHP的Widget扩展实例
Jun 19 PHP
PHP中Fatal error session_start()错误解决步骤
Aug 05 PHP
Laravel 5框架学习之路由、控制器和视图简介
Apr 07 PHP
php中实现用数组妩媚地生成要执行的sql语句
Jul 10 PHP
mysql_escape_string()函数用法分析
Apr 25 PHP
php使用ffmpeg获取视频信息并截图的实现方法
May 03 PHP
Yii2 RESTful中api的使用及开发实例详解
Jul 06 PHP
PHP实现的一致性Hash算法详解【分布式算法】
Mar 31 PHP
浅谈php的TS和NTS的区别
Mar 13 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
详解WordPress中调用评论模板和循环输出评论的PHP函数
2016/01/05 PHP
PHP解耦的三重境界(浅谈服务容器)
2017/03/13 PHP
PHP 实现从数据库导出到.csv文件方法
2017/07/06 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
2017/10/23 PHP
浅谈PHP实现大流量下抢购方案
2017/12/15 PHP
Swoole 5将移除自动添加Event::wait()特性详解
2019/07/10 PHP
关于IE浏览器以及Firefox下的javascript冒泡事件的响应层级
2010/10/14 Javascript
javascript实现图片切换的幻灯片效果源代码
2012/12/12 Javascript
jquery+json实现数据列表分页示例代码
2013/11/15 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
2013/12/16 Javascript
纯js模拟div层弹性运动的方法
2015/07/27 Javascript
Bootstrap modal 多弹窗之叠加引起的滚动条遮罩阴影问题
2017/02/27 Javascript
使用Vue制作图片轮播组件思路详解
2018/03/21 Javascript
vue+iview/elementUi实现城市多选
2019/03/28 Javascript
详解Vuex下Store的模块化拆分实践
2019/07/31 Javascript
vue动态禁用控件绑定disable的例子
2019/10/28 Javascript
详解vue中使用axios对同一个接口连续请求导致返回数据混乱的问题
2019/11/06 Javascript
js仿360开机效果
2019/12/26 Javascript
[02:17]DOTA2亚洲邀请赛 RAVE战队出场宣传片
2015/02/07 DOTA
简单了解Python中的几种函数
2017/11/03 Python
Python实现简单的语音识别系统
2017/12/13 Python
1分钟快速生成用于网页内容提取的xslt
2018/02/23 Python
python之Flask实现简单登录功能的示例代码
2018/12/24 Python
Python切割图片成九宫格的示例代码
2020/03/10 Python
如何利用python之wxpy模块玩转微信
2020/08/17 Python
13个Pandas实用技巧,助你提高开发效率
2020/08/19 Python
中国最大的名表商城:万表网
2016/08/29 全球购物
西雅图的买手店:Totokaelo
2019/10/19 全球购物
爷爷追悼会答谢词
2014/01/24 职场文书
医院总经理岗位职责
2014/02/04 职场文书
幼儿园中班教师寄语
2014/04/03 职场文书
学生逃课检讨书1000字
2014/10/20 职场文书
2014小学语文教学工作总结
2014/12/17 职场文书
2015年汽车销售工作总结
2015/04/07 职场文书
男方家长婚礼答谢词
2015/09/29 职场文书
win7配置本地ftp服务器的图文教程
2022/08/05 Servers