Heim  >  Artikel  >  Backend-Entwicklung  >  Die PHP-Methoden „unlink“ und „rmdir“ zum Löschen eines Verzeichnisses und aller darin enthaltenen Dateien

Die PHP-Methoden „unlink“ und „rmdir“ zum Löschen eines Verzeichnisses und aller darin enthaltenen Dateien

小云云
小云云Original
2018-05-24 11:32:3719875Durchsuche

Das Löschen von Dateien und Verzeichnissen in PHP ist eigentlich sehr einfach. Es gibt nur zwei Funktionen, eine ist die Funktion „Verknüpfung aufheben“ und die andere ist die Funktion „rmdir“. Wenn wir das Verzeichnis und die Dateien im Verzeichnis löschen möchten, müssen wir die Rekursion verwenden. In diesem Artikel wird hauptsächlich der Beispielcode eines Verzeichnisses mit PHP und rmdir vorgestellt. Freunde, die ihn benötigen, können darauf verweisen.

Funktionscode: Nur Dateien im angegebenen Verzeichnis löschen, nicht im Verzeichnisordner. Der Code lautet wie folgt:

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 ); 
} 
} 
}

Angenommen, Sie müssen eine Datei im Verzeichnis löschen mit dem Namen „hochladen“ Alle Dateien, aber keine Notwendigkeit, Verzeichnisordner zu löschen, können Sie es mit dem folgenden Code tun:

<?php delFileUnderDir( ‘upload&#39;);?>

php löscht alle Verzeichnisse, der Code lautet wie folgt:

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; 
}

PHP löscht das Verzeichnis und alle unter der Verzeichnisdatei befindlichen Dateien. Der Code lautet wie folgt:

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

Verwandte Empfehlungen:

PHP löscht Dateien und Ordner. Verwendung des zwei Funktionen unlink() und rmdir()

PHP-Funktion unlink()

Einführung in die Verwendung von unlink(), mkdir() , rmdir() usw. in PHP

Das obige ist der detaillierte Inhalt vonDie PHP-Methoden „unlink“ und „rmdir“ zum Löschen eines Verzeichnisses und aller darin enthaltenen Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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