Méthodes unlink et rmdir de PHP pour supprimer un répertoire et tous les fichiers du répertoire

小云云
Libérer: 2023-03-20 07:10:01
original
20051 Les gens l'ont consulté

La suppression de fichiers et de répertoires en PHP est en fait très simple. Il n'y a que deux fonctions, l'une est la fonction unlink et l'autre est la fonction rmdir. Si nous voulons supprimer le répertoire et les fichiers du répertoire, nous devons utiliser la récursivité. Cet article vous présente principalement PHP unlink et rmdir supprime l'exemple de code d'un répertoire et tous les fichiers du répertoire. Les amis qui en ont besoin peuvent s'y référer. J'espère que cela pourra aider tout le monde.

Code de fonction : Supprimez uniquement les fichiers du répertoire spécifié, pas le dossier du répertoire. Le code est le suivant :

class shanchu { 
//循环目录下的所有文件 
function delFileUnderDir( $dirName=”../Smarty/templates/templates_c” ) 
{ 
if ( $handle = opendir( “$dirName” ) ) { 
while ( false !== ( $item = readdir( $handle ) ) ) { 
if ( $item != “.” && $item != “..” ) { 
if ( is_dir( “$dirName/$item” ) ) { 
delFileUnderDir( “$dirName/$item” ); 
} else {//开源代码phpfensi.com 
if( unlink( “$dirName/$item” ) )echo “成功删除文件: $dirName/$item<br />n”; 
} 
} 
} 
closedir( $handle ); 
} 
} 
}
Copier après la connexion

Supposons que vous deviez supprimer un fichier dans le répertoire. nommé "upload" Tous les fichiers, mais pas besoin de supprimer les dossiers du répertoire, vous pouvez le faire avec le code suivant :

<?php delFileUnderDir( ‘upload&#39;);?>
Copier après la connexion

php supprime tous les répertoires, le code est le suivant :

function deltree($pathdir) 
{ 
echo $pathdir;//调试时用的 
if(is_empty_dir($pathdir))//如果是空的 
{ 
rmdir($pathdir);//直接删除 
} 
else 
{//否则读这个目录,除了.和..外 
$d=dir($pathdir); 
while($a=$d->read()) 
{ 
if(is_file($pathdir.&#39;/&#39;.$a) && ($a!=&#39;.&#39;) && ($a!=&#39;..&#39;)){unlink($pathdir.&#39;/&#39;.$a);} 
//如果是文件就直接删除 
if(is_dir($pathdir.&#39;/&#39;.$a) && ($a!=&#39;.&#39;) && ($a!=&#39;..&#39;)) 
{//如果是目录 
if(!is_empty_dir($pathdir.&#39;/&#39;.$a))//是否为空 
{//如果不是,调用自身,不过是原来的路径+他下级的目录名 
deltree($pathdir.&#39;/&#39;.$a); 
} 
if(is_empty_dir($pathdir.&#39;/&#39;.$a)) 
{//如果是空就直接删除 
rmdir($pathdir.&#39;/&#39;.$a); 
} 
} 
} 
$d->close(); 
echo "必须先删除目录下的所有文件";//我调试时用的 
} 
} 
function is_empty_dir($pathdir) 
{ 
//判断目录是否为空 
$d=opendir($pathdir); 
$i=0; 
while($a=readdir($d)) 
{ 
$i++; 
} 
closedir($d); 
if($i>2){return false;} 
else return true; 
}
Copier après la connexion

PHP supprime le répertoire et tout ce qui se trouve sous le fichier répertoire, le code est le suivant :

<?php 
//循环删除目录和文件函数 
function delDirAndFile( $dirName ) 
{ 
if ( $handle = opendir( “$dirName” ) ) { 
while ( false !== ( $item = readdir( $handle ) ) ) { 
if ( $item != “.” && $item != “..” ) { 
if ( is_dir( “$dirName/$item” ) ) { 
delDirAndFile( “$dirName/$item” ); 
} else { 
if( unlink( “$dirName/$item” ) )echo “成功删除文件: $dirName/$item<br />n”; 
} 
} 
} 
closedir( $handle ); 
if( rmdir( $dirName ) )echo “成功删除目录: $dirName<br />n”; 
} 
} 
//假设需要删除一个名叫”upload”的同级目录即此目录下的所有文件,你可以通过以下代码完成: 
delDirAndFile( ‘upload&#39;); 
?>
Copier après la connexion

Recommandations associées :

Suppression PHP des fichiers et dossiers Utilisation du deux fonctions unlink() et rmdir()

Fonction PHP unlink()

Introduction à l'utilisation de unlink(), mkdir() , rmdir(), etc. en php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en 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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal