Maison > php教程 > PHP开发 > le corps du texte

Supprimer récursivement les répertoires et les fichiers dans rrmdir php

高洛峰
Libérer: 2016-12-28 15:02:31
original
1490 Les gens l'ont consulté

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); 
} 
}
Copier après la connexion

rmdir
(PHP 4, PHP 5)
rmdir — supprimer le répertoire
Signaler un bug Description
bool rmdir ( string $dirname )
Essayez de supprimer le répertoire spécifié par dirname Table des matières. Le répertoire doit être vide et doit disposer des autorisations appropriées. Renvoie TRUE en cas de succès ou FALSE en cas d'échec
Remarque : depuis PHP 5.0.0, rmdir() peut également être utilisé avec certains protocoles d'encapsulation d'URL. Consultez la liste des protocoles et wrappers pris en charge pour voir quels protocoles d'encapsulage d'URL sont pris en charge par rmdir().
Remarque : la prise en charge du contexte a été ajoutée dans PHP 5.0.0. Voir la fonction Stream pour une description du contexte.
Remarque : lorsque le mode sans échec est activé, PHP vérifiera si le répertoire manipulé par le script a le même UID (propriétaire) que le script en cours d'exécution lors de l'exécution du script.
Voir mkdir() et 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); 
} 
} 
?>
Copier après la connexion
<?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:
Copier après la connexion
<?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); 
} 
?>
Copier après la connexion

Pour plus d'articles liés à la suppression récursive de répertoires et de fichiers sous des répertoires dans rrmdir php, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal