Heim > Backend-Entwicklung > PHP-Problem > Wie lösche ich regelmäßig Dateien in PHP?

Wie lösche ich regelmäßig Dateien in PHP?

coldplay.xixi
Freigeben: 2023-03-02 08:50:02
Original
3230 Leute haben es durchsucht

So löschen Sie Dateien regelmäßig in PHP: Erstellen Sie zuerst eine neue [flag.txt]-Datei und geben Sie 1 oder 0 ein. Dann bedeutet [1], die Ausführung fortzusetzen. Der Code lautet [$flag = 1; ]; schließlich der Client Wenn die Verbindung zum Client getrennt wird, kann das Skript im Hintergrund weiter ausgeführt werden. Der Code lautet [ignore_user_abort();].

Wie lösche ich regelmäßig Dateien in PHP?

So löschen Sie regelmäßig Dateien in PHP:

Der folgende Code ist ein einfaches PHP, das regelmäßig Dateien in PHP bereinigt ein Ordnercode.

ps: Dieser Code wird weiterhin ausgeführt, wenn die Website nicht neu gestartet wird, daher wird er nur zum Testen der lokalen Umgebung verwendet. Bitte nicht auf der Website testen.

Der Code lautet wie folgt:

<?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 basierend auf einer Idee im Internet eine flag.txt-Datei und geben Sie 1 oder 0 ein. „0“ bedeutet, die Ausführung zu stoppen, und „1“ bedeutet fortfahren. Auf diese Weise kann es gestartet und gestoppt werden.

Der Code lautet wie folgt:

<?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

php löscht den Ordner und alle Dateien unter dem Ordner

Der Code lautet wie folgt:

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

Beispiel: Alle „.svn“-Ordner unter einem bestimmten Ordner löschen (einschließlich deren Inhalte werden ebenfalls gelöscht).

Der Code lautet wie folgt:

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

Verwandte Lernempfehlungen: PHP-Programmierung vom Anfänger bis zum Experten

Das obige ist der detaillierte Inhalt vonWie lösche ich regelmäßig Dateien in PHP?. 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
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage