> 백엔드 개발 > PHP 문제 > PHP에서 링크 해제를 사용하여 폴더를 삭제하는 방법

PHP에서 링크 해제를 사용하여 폴더를 삭제하는 방법

王林
풀어 주다: 2023-03-13 06:30:01
원래의
2318명이 탐색했습니다.

연결 해제를 사용하여 PHP에서 폴더를 삭제하는 방법: 1. PHP 샘플 파일을 생성합니다. 2. "if ($handle = opendir( "$dirName" ) ) {while (false !== ($item = readdir) ( $handle))){if($item...}" 문을 사용하여 폴더를 삭제할 수 있습니다.

PHP에서 링크 해제를 사용하여 폴더를 삭제하는 방법

이 기사의 운영 환경: windows10 시스템, php 7, thinkpad t480 컴퓨터.

PHP에서 파일을 삭제하는 것은 실제로 매우 간단합니다. PHP가 우리에게 적합한 함수인 unlink 및 rmdir 함수를 준비했기 때문에 이 두 함수를 사용하여 재귀적 삭제 작업도 완료할 수 있습니다.

구현 코드는 다음과 같습니다.

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 ); 
} 
} 
}
로그인 후 복사

"upload"라는 디렉터리의 모든 파일을 삭제해야 하지만 디렉터리 폴더는 삭제할 필요가 없다고 가정하면 다음 코드로 완료할 수 있습니다. :

<?php delFileUnderDir( ‘upload&#39;);?>
로그인 후 복사

php 모든 디렉토리 삭제, 코드는 다음과 같습니다:

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는 디렉토리와 디렉토리에 있는 모든 파일을 삭제합니다. 코드는 다음과 같습니다:

<?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;); 
?>
로그인 후 복사

추천 학습:

php training

위 내용은 PHP에서 링크 해제를 사용하여 폴더를 삭제하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿