Wie verwende ich PHP-Code, um Ordner zu löschen und Cache-Instanzen zu löschen?

伊谢尔伦
Freigeben: 2023-03-14 09:16:01
Original
1825 Leute haben es durchsucht

Werfen wir zunächst einen Blick auf den Löschcode:

<?php 
header(&#39;content-type:text/html;charset=utf-8&#39;); 
function delFile($fpath) { 
$filesize = array(); 
$filepath = iconv(&#39;gb2312&#39;, &#39;utf-8&#39;, $fpath); 
if (is_dir($fpath)) { 
if ($dh = opendir($fpath)) { 
while (($file = readdir($dh)) !== false) { 
if($file != &#39;.&#39; && $file != &#39;..&#39;) { 
$filesize[] = delFile($fpath.&#39;/&#39;.$file); 
} 
} 
closedir($dh); 
} 
/* 
* 方便统计目录数 
*/ 
$filesize[&#39;file&#39;] = 0; 
if(@rmdir($fpath) === true) { 
echo "{$filepath}................删除成功<br>\n"; 
} else { 
echo "{$filepath}................删除失败<br>\n"; 
} 
} else { 
if(is_file($fpath)) { 
$filesize[] = $fsize = filesize($fpath); 
if(@unlink($fpath) === true) { 
echo "{$filepath}...{$fsize}K................删除成功<br>\n"; 
} else { 
echo "{$filepath}...{$fsize}K................删除失败<br>\n"; 
} 
} 
} 
return $filesize; 
} 
/* 
* function getArrSum(array &$arr) 数组求和 
* array &$arr 被处理数组 
*/ 
function getArrSum(&$arr) { 
if(is_array($arr)) { 
foreach ($arr as &$value) { 
$value = getArrSum($value); 
} 
return array_sum($arr); 
} else { 
return $arr; 
} 
} 
$fpath = &#39;D:/test&#39;; 
$filesize = delFile($fpath); 
$size = getArrSum($filesize); 
printf(&#39;为您节省:%.3fM 空间&#39;, $size/(1024*1024)); 
?>
Nach dem Login kopieren

Ein einfacher PHP-Testcode zum regelmäßigen Bereinigen von Dateien in einem Ordner:

<?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); //周期性执行脚本
Nach dem Login kopieren

Erstellen Sie eine flag.txt-Datei Geben Sie 1 oder 0 ein. „0“ bedeutet, die Ausführung zu stoppen, „1“ bedeutet, die Ausführung fortzusetzen. Auf diese Weise kann es gestartet und gestoppt werden.

<?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);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie verwende ich PHP-Code, um Ordner zu löschen und Cache-Instanzen zu löschen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage