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

2015-01-24信息快讯网

有的时候网站缓存文件夹里生成的临时文件越来越多,而长时间不清理就会造成文件夹下有上万个缓存文件,可能会使ftp工具多无法进入其文件夹。使临时文件无法删除

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

以下代码就是一个简单定时清理文件夹下文件的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编写的SVN类
解析PHP中的unset究竟会不会释放内存
解析php中curl_multi的应用
php curl获取网页内容(IPV6下超时)的解决办法
实测在class的function中include的文件中非php的global全局环境
php的$_FILES的临时储存文件与回收机制实测过程
PHP 获取远程文件大小的3种解决方法
PHP 获取文件权限函数介绍
php打开文件fopen函数的使用说明
PHP删除数组中特定元素的两种方法
PHP删除HTMl标签的三种解决方法
PHP删除HTMl标签的实现代码
PHP遍历某个目录下的所有文件和子文件夹的实现代码
解析PHP函数array_flip()在重复数组元素删除中的作用
php删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)
探讨PHP删除文件夹的三种方法
php遍历所有文件及文件夹的方法深入解析
PHP转换文件夹下所有文件编码的实现代码
php删除与复制文件夹及其文件夹下所有文件的实现代码
php删除文件夹及其文件夹下所有文件的函数代码
PHP关联数组的10个操作技巧
用PHP即时捕捉PHP中的错误并发送email通知的实现代码
PHP中CURL方法curl_setopt()函数的参数分享
php牛逼的面试题分享
php图片加水印原理(超简单的实例代码)
浏览器预览PHP文件时顶部出现空白影响布局分析原因及解决办法
php判断上传的Excel文件中是否有图片及PHPExcel库认识
PHP中设置时区,记录日志文件的实现代码
Fine Uploader文件上传组件应用介绍
PHP flock 文件锁详细介绍
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
php 操作数组(合并,拆分,追加,查找,删除等)
PHP删除数组中的特定元素的代码
php数组中删除元素的实现代码
php递归创建和删除文件夹的代码小结
php 删除一个数组中的某个值.兼容多维数组!
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
使用PHP遍历文件夹与子目录的函数代码
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
©2014-2024 dbsqp.com