• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

php 搞代码 3年前 (2022-01-26) 32次浏览 已收录 0个评论

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

以下代码就是一个简单定时清理文件夹下文件的php代码。
ps:这个代码如果不重启网站会一直执行下去,所以只用作于本地环境测试,请别在网站上测试。

 <BR><?php <BR>ignore_user_abort(); //客户端断开时,可以让脚本继续在后台执行 <BR>set_time_limit(0); //忽略php.ini设置的脚本运行时间限制 <BR>$interval = 5*60; //设置执行周期,单位为秒,5分钟为 5*60=300 <BR>do{ <BR>$dir = "temp/"; //你的临时目录位置 <BR>$handle=opendir("{$dir}/"); <BR>while (false !== ($file=readdir($handle))) { <BR>if ($file!="." && $file!=".." && !is_dir("{$dir}/{$file}")) { <BR>@unlink ("{$dir}/{$file}"); <BR>} <BR>} <BR>closedir($handle); //关闭由 opendir() 函数打开的目录 <BR>sleep($interval); //执行一个周期后,休眠$interval时间,休眠结束后脚本继续执行 <BR>}while(true); //周期性执行脚本 <BR>

根据网上的一个思路来的,建一个flag.txt文件,在里面输入1或者0,“0”表示停止执行,“1”表示继续执行。这样的话就可以开始和停止了。

 <BR><?php <BR>$flag = 1; //将执行标志设置为1,默认为执行 <BR>ignore_user_abort(); //客户端断开时,可以让脚本继续在后台执行 <BR>set_time_limit(0); //忽略php.ini设置的脚本运行时间限制 <BR>$interval = 5*60; //设置执行周期,单位为秒,5分钟为 5*60=300 <BR>do{ <BR>$flagfile = "flag.txt"; //标志放置在文件“flag.txt”中。“0”表示停止执行,“1”表示继续执行 <BR>if(file_exists($flagfile) && is_readable($flagfile)) { //读取文件内容 <BR>$fh = fopen($flagfile,"r"); <BR>while (!feof($fh)) { <BR>$flag = fgets($fh); //存储标志 <BR>} <BR>fclose($fh); <BR>} <BR>$dir = "temp/"; //你的临时目录位置 <BR>$handle=opendir("{$dir}/"); <BR>while (false !== ($file=readdir($handle))) { <BR>if ($file!="." && $file!=".." && !is_dir("{$dir}/{$file}")) { <BR>@unlink ("{$dir}/{$file}"); <BR>} <BR>} <BR>closedir($handle); //关闭由 opendir() 函数打开的目录 <BR>sleep($interval); //执行一个周期后,休眠$interval时间,休眠结束后脚本继续执行 <BR>}while($flag); <BR>

php删除文件夹及其文件夹下所有文件

 <BR><? <BR>function deldir($dir) { <BR>//先删除目录下的文件: <BR>$dh=opendir($dir); <BR>while ($file=readdir($dh)) { <BR>if($file!="." && $file!="..") { <BR>$fullpath=$dir."/".$file; <BR>if(!is_dir($fullpath)) { <BR>unlink($fullpath); <BR>} else { <BR>deldir($fullpath); <BR>} <BR>} <BR>} <BR>closedir($dh); <BR>//删除当前文件夹: <BR>if(rmdir($dir)) { <BR>r<a style="color:transparent">本@文来源gao($daima.com搞@代@#码(网5</a><strong>搞gaodaima代码</strong>eturn true; <BR>} else { <BR>return false; <BR>} <BR>} <BR>?> <BR>


实例:删除某个文件夹下的所有“.svn”文件夹(包括其内容也要被删除).

 <BR><?php <BR>function delsvn($dir) { <BR>$dh=opendir($dir); <BR>//找出所有".svn“ 的文件夹: <BR>while ($file=readdir($dh)) { <BR>if($file!="." && $file!="..") { <BR>$fullpath=$dir."/".$file; <BR>if(is_dir($fullpath)) { <BR>if($file==".svn"){ <BR>delsvndir($fullpath); <BR>}else{ <BR>delsvn($fullpath); <BR>} <BR>} <BR>} <BR>} <BR>closedir($dh); <BR>} <BR>function delsvndir($svndir){ <BR>//先删除目录下的文件: <BR>$dh=opendir($svndir); <BR>while($file=readdir($dh)){ <BR>if($file!="."&&$file!=".."){ <BR>$fullpath=$svndir."/".$file; <BR>if(is_dir($fullpath)){ <BR>delsvndir($fullpath); <BR>}else{ <BR>unlink($fullpath); <BR>} <BR>} <BR>} <BR>closedir($dh); <BR>//删除目录文件夹 <BR>if(rmdir($svndir)){ <BR>return true; <BR>}else{ <BR>return false; <BR>} <BR>} <br><br>$dir=dirname(__FILE__); <BR>//echo $dir; <BR>delsvn($dir); <BR>?> <BR>

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php定时删除文件夹下文件(清理缓存文件)_php技巧
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址