您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關如何定時在php中刪除文件,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
php定時刪除文件的方法:首先新建一個【flag.txt】文件,在里面輸入1或者0;然后【1】表示繼續執行,代碼為【$flag = 1;】;最后客戶端斷開時,可以讓腳本繼續在后臺執行,代碼為【ignore_user_abort();】。
php定時刪除文件的方法:
以下代碼就是一個簡單定時清理文件夾下文件的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中刪除文件,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。