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&amp;&amp;mysql)六
Oct 09 PHP
在smarty模板中使用PHP函数的方法
Apr 23 PHP
PHP中对用户身份认证实现两种方法
Jun 04 PHP
PHP版网站缓存加快打开速度的方法分享
Jun 03 PHP
谈谈关于php的优点与缺点
Apr 11 PHP
php对数组排序代码分享
Feb 24 PHP
PHP mkdir()无写权限的问题解决方法
Jun 19 PHP
PHP防盗链代码实例
Aug 27 PHP
Zend Framework入门应用实例详解
Dec 11 PHP
php中通过eval实现字符串格式的计算公式
Mar 18 PHP
PHP实现的Redis多库选择功能单例类
Jul 27 PHP
PHP编程实现脚本异步执行的方法
Aug 09 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
jQuery+php实现ajax文件即时上传的详解
2013/06/17 PHP
PHP程序员基本要求和必备技能
2014/05/09 PHP
PHP关键特性之命名空间实例详解
2017/05/06 PHP
Laravel使用scout集成elasticsearch做全文搜索的实现方法
2018/11/30 PHP
关于PHP5.6+版本“No input file specified”问题的解决
2019/12/11 PHP
复制小说文本时出现的随机乱码的去除方法
2010/09/07 Javascript
js图片向右一张张滚动效果实例代码
2013/11/23 Javascript
jquery动态加载select下拉框示例代码
2013/12/10 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
2015/02/03 Javascript
javascript实现下班倒计时效果的方法(可桌面通知)
2015/07/10 Javascript
javascript瀑布流式图片懒加载实例
2020/06/28 Javascript
使用javascript插入样式
2016/03/14 Javascript
微信小程序 wxapp画布 canvas详细介绍
2016/10/31 Javascript
jQuery实现的仿百度,仿谷歌搜索下拉框效果示例
2016/12/30 Javascript
vue一步步实现alert功能
2017/07/05 Javascript
javascript高仿热血传奇游戏实现代码
2018/02/22 Javascript
Vue 之孙组件向爷组件通信的实现
2019/04/23 Javascript
js实现图片推拉门效果代码实例
2019/05/18 Javascript
Vue2.x通用编辑组件的封装及应用详解
2019/05/28 Javascript
JS使用setInterval计时器实现挑战10秒
2020/11/08 Javascript
Python 类与元类的深度挖掘 I【经验】
2016/05/06 Python
Python使用sorted排序的方法小结
2017/07/28 Python
python 按照固定长度分割字符串的方法小结
2018/04/30 Python
Python爬虫获取图片并下载保存至本地的实例
2018/06/01 Python
使用Python实现企业微信的自动打卡功能
2019/04/30 Python
python爬虫豆瓣网的模拟登录实现
2019/08/21 Python
Python基本语法之运算符功能与用法详解
2019/10/22 Python
Python生成个性签名图片获取GUI过程解析
2019/12/16 Python
Python加密模块的hashlib,hmac模块使用解析
2020/01/02 Python
浅谈Python3多线程之间的执行顺序问题
2020/05/02 Python
关于Kotlin中SAM转换的那些事
2020/09/15 Python
python中append函数用法讲解
2020/12/11 Python
文秘求职信范文
2014/04/10 职场文书
校园元旦活动总结
2014/07/09 职场文书
党的群众路线教育实践活动督导组工作情况汇报
2014/10/28 职场文书
Nginx设置日志打印post请求参数的方法
2021/03/31 Servers