Heim > php教程 > PHP开发 > Hauptteil

Verzeichnisse und Dateien in rrmdir php rekursiv löschen

高洛峰
Freigeben: 2016-12-28 15:02:31
Original
1490 Leute haben es durchsucht

function rrmdir($dir) { 
if (is_dir($dir)) { 
$objects = scandir($dir); 
foreach ($objects as $object) { 
if ($object != “.” && $object != “..”) { 
if (filetype($dir.”/”.$object) == “dir”) rrmdir($dir.”/”.$object); else unlink($dir.”/”.$object); 
} 
} 
reset($objects); 
} 
}
Nach dem Login kopieren

rmdir
(PHP 4, PHP 5)
rmdir – Verzeichnis löschen
Fehler melden Beschreibung
bool rmdir ( string $dirname )
Versuchen Sie, das angegebene Verzeichnis zu löschen von dirname Inhaltsverzeichnis. Das Verzeichnis muss leer sein und über entsprechende Berechtigungen verfügen. Gibt TRUE bei Erfolg oder FALSE bei Fehler zurück.
Hinweis: Ab PHP 5.0.0 kann rmdir() auch mit bestimmten URL-Wrapping-Protokollen verwendet werden. Sehen Sie sich die Liste der unterstützten Protokolle und Wrapper an, um zu sehen, welche URL-Wrapping-Protokolle rmdir() unterstützt.
Hinweis: Unterstützung für Kontext wurde in PHP 5.0.0 hinzugefügt. Eine Beschreibung des Kontexts finden Sie in der Stream-Funktion.
Hinweis: Wenn der abgesicherte Modus aktiviert ist, prüft PHP bei der Ausführung des Skripts, ob das vom Skript manipulierte Verzeichnis dieselbe UID (Eigentümer) wie das ausgeführte Skript hat.
Siehe mkdir() und unlink().

<?php 
function rrmdir($dir) { 
if (is_dir($dir)) { 
$objects = scandir($dir); 
foreach ($objects as $object) { 
if ($object != "." && $object != "..") { 
if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object); else unlink($dir."/".$object); 
} 
} 
reset($objects); 
rmdir($dir); 
} 
} 
?>
Nach dem Login kopieren
<?php 
function deleteAll($directory, $empty = false) { 
if(substr($directory,-1) == "/") { 
$directory = substr($directory,0,-1); 
} 
if(!file_exists($directory) || !is_dir($directory)) { 
return false; 
} elseif(!is_readable($directory)) { 
return false; 
} else { 
$directoryHandle = opendir($directory); 
while ($contents = readdir($directoryHandle)) { 
if($contents != &#39;.&#39; && $contents != &#39;..&#39;) { 
$path = $directory . "/" . $contents; 
if(is_dir($path)) { 
deleteAll($path); 
} else { 
unlink($path); 
} 
} 
} 
closedir($directoryHandle); 
if($empty == false) { 
if(!rmdir($directory)) { 
return false; 
} 
} 
return true; 
} 
} 
?> 
[/code] 
A patch to previous script to make sure rights for deletion is set:
Nach dem Login kopieren
<?php 
//Delete folder function 
function deleteDirectory($dir) { 
if (!file_exists($dir)) return true; 
if (!is_dir($dir) || is_link($dir)) return unlink($dir); 
foreach (scandir($dir) as $item) { 
if ($item == &#39;.&#39; || $item == &#39;..&#39;) continue; 
if (!deleteDirectory($dir . "/" . $item)) { 
chmod($dir . "/" . $item, 0777); 
if (!deleteDirectory($dir . "/" . $item)) return false; 
}; 
} 
return rmdir($dir); 
} 
?>
Nach dem Login kopieren

Weitere Artikel zum rekursiven Löschen von Verzeichnissen und Dateien unter Verzeichnissen in rrmdir php finden Sie auf der chinesischen PHP-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 Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage