찾다
백엔드 개발PHP 튜토리얼PHP에서 지정된 폴더를 삭제하는 방법에 대한 자세한 설명

아래 편집기는 PHP에서 지정된 폴더를 삭제하는 예를 보여줍니다. 편집자님이 꽤 좋다고 생각하셔서 지금 공유하고 모두에게 참고용으로 드리고자 합니다. 에디터를 따라가며 함께 살펴볼까요

1. 서문

목표: PHP가 지정된 디렉터리를 삭제합니다

사용되는 PHP 함수: is_dir, opendir, readdir, scandir, rmdir, closeir 등 ( 참고: 다른 파일 작업 기능도 완료할 수 있으며, 이번에 사용된 기능만 나열됩니다.)

2. 관련 기능 소개

php 파일 작업 방법은 거의 동일하며 소개되었습니다. 이전 기사에서는 여기서 소개를 반복하지 않고 새로운 기능을 소개합니다

rmdir

자세한 내용은 다음을 참조하세요: http://www.w3school.com.cn/php/func_filesystem_rmdir .asp

3. 코드 구성


**
 * [delAllFile description] 删除指定目录
 * @param [type] $dirName [description] 目录
 * @param [type] $file [description] 记录的过程文件
 * @param integer $type [description] 第一次默认打开新文件,第二次调用不打开
 * @return [type]   [description]
 */
public function delAllFile($dirName, $file, $type = 1) {
 $re = $this->checkDir($dirName);
 //默认第一次打开文件
 if($type){
 $file = fopen($file, 'w');//打开日志文件
 }
 if($re){
 $this->delFile($dirName, $file);
 }else{
 fwrite($file,"{$dirName}清理完成\r\n");
 }
}


/**
 * [checkDir description] 检测文件夹是否为空,为空直接删除
 * @param [type] $dirName [description] 文件夹名
 * @return [type]   [description]
 */
private function checkDir($dirName) {
 $a = scandir($dirName);//列出 images 目录中的文件和目录:
 //只包含.和..目录的文件夹为空文件夹
 if(sizeof($a) == 2){
 rmdir($dirName);
 return false;
 }
 return true;
}
/**
 * [delFile description] 上传文件的方法
 * @param [type] $dirName [description] 目录
 * @param [type] $file [description] 记录的文件
 * @return [type]   [description]
 */
private function delFile($dirName, $file) {
 $dh = openDir($dirName);
 while($handle = readdir($dh)){
 if($handle == '.' || $handle == '..') {
 continue;
 }
 $resource = $dirName.'/'.$handle;
 //判断是否是文件夹
 if(is_dir($resource)) {
 //判断文件夹是否为空
 $re = $this->checkDir($dirName);
 if($re){
 $this->delAllFile($resource, $file, 0);
 }else{
 fwrite($file,"{$resource}清理完成\r\n");
 continue;
 }
 }else{
 unlink($resource);
 }
 }
 
 //关掉资源,删除目录
 closedir($dh);//关闭目录资源 
 fwrite($file,"{$dirName}清理完成\r\n");
 rmdir($dirName);//删除空目录 
}

하지만 위 코드에서 상위 하위 디렉터리를 만나면 쉽게 경고가 나타나 디렉터리를 삭제할 수 없게 됩니다.

따라서 상위 수준 하위 집합의 경우 이 오류를 방지하려면 삭제할 수 있는지 여부를 결정하기 위해 마지막에 루프 판단을 추가해야 합니다


// //关掉资源,删除目录
// closedir($dh);//关闭目录资源 
// fwrite($file,"{$dirName}清理完成\r\n");
//rmdir($dirName);//删除空目录 
 
//每次目录层级高了就报错,故加个循环处理
$i = 1;
while($i){
 $re = $this->checkDir($dirName);
 echo "$dirName $i 次<br/><hr/>";
 $i++;
 if(!$re){
  $i = 0;
  closedir($dh);//关闭目录资源 
  fwrite($file,"{$dirName}清理完成\r\n");  
 }
}

이 레이어를 추가하면 삭제할 수 없는 상황을 피할 수 있습니다. 삭제(삭제할 수 없는 것이 권한 문제인 경우도 있음)

4. 결론

디렉터리 삭제는 비교적 간단합니다.

1 디렉터리인지 확인합니다. 그렇지 않으면 파일을 직접 삭제하세요.

2. 그렇지 않으면 빈 rmdir에서 오류가 발생합니다. (창, 이는 문제가 되지 않습니다.) )

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

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
swsetup 是什么文件夹swsetup 是什么文件夹Feb 20, 2023 pm 04:51 PM

swsetup是惠普软件的一个备份文件夹,如果使用系统恢复盘恢复系统、系统文件、随机软件、驱动,都可以在这个文件夹中找到;swsetup文件夹可以删除,如果用户需要更大的可用硬盘空间,可以删除此目录,不会影响用户。

如何调整Win10文件夹字体大小?如何调整Win10文件夹字体大小?Jun 30, 2023 pm 08:02 PM

win10电脑文件夹字体大小怎么设置?win10文件夹字体大小设置方法是首先点击左下角开始,然后选择打开设置。很多小伙伴不知道怎操作,小编下面整理了文件夹字体大小设置方法步骤,如果你感兴趣的话,跟着小编一起往下看看吧!文件夹字体大小设置方法步骤1、首先点击左下角开始,然后选择打开设置。2、之后去点击“系统”。3、点击左侧的“屏幕”。4、在右边找到“更改文本、应用等项目的大小”。5、最后点击下拉,选择100%即可。以上就是【win10电脑文件夹字体大小怎么设置-文件夹字体大小设置方法步骤】全部内容

如何与其他人共享 OneDrive 文件或文件夹?如何与其他人共享 OneDrive 文件或文件夹?May 08, 2023 pm 06:42 PM

MicrosoftOneDrive允许用户将文件和文件夹存储在云上并从任何地方访问它们。如果您允许他们使用OneDrive应用程序,您还可以授予他们访问文件的权限。这使人们可以轻松地交换文件或文件夹。您还可以更改文件的访问权限,例如他们是否可以编辑或仅查看它,还可以添加密码以及到期日期。因此,即使您忘记停止访问某些文件,访问权限也会在指定日期后自动过期。在这篇文章中,我们将教你如何使用两种不同的方法在OneDrive中与他人共享文件或文件夹。如何在OneDrive中与人共享文件或文件夹方法

如何为所有文件夹在Windows 11中设置相同的文件夹视图?如何为所有文件夹在Windows 11中设置相同的文件夹视图?Apr 26, 2023 pm 10:31 PM

在Windows中,我们可以在文件资源管理器中查看文件夹、文件和其他文档。您可能已经观察到,很少有文件和文件夹具有较小的图标,而很少有较大的图标。因此可以理解,有一个定制选项可用。根据文件的性质,默认设置了不同的文件夹模板。例如,在包含照片的名为Picture的文件夹中,图像具有不同的视图。包含音乐文件的音乐文件夹将具有不同的模板。同样,对于文档、视频等文件夹,每个文件夹根据其类别包含不同的模板。您还可以选择文件夹的模板并将其设置为所有其他相同类型的文件夹。在本文中,我们将学习如何将文件夹视图应

如何在 Windows 11 和 10 中向受控文件夹访问添加或删除文件夹如何在 Windows 11 和 10 中向受控文件夹访问添加或删除文件夹Apr 18, 2023 pm 03:31 PM

微软推出了一种防病毒软件,有助于保护文件夹免受任何其他应用程序的攻击,称为Defender防病毒。在勒索软件攻击中,其中的所有文件夹和文件都受到攻击,您将无法使用它们,因为它将被另一个病毒进程锁定。因此,当您将文件夹添加到受控文件夹访问时,它会提供额外的安全性并防止这些勒索软件攻击。默认情况下,Windows将用户目录中的文档、图片、视频等文件夹添加到受控文件夹访问权限。您需要以系统管理员身份登录才能从受控文件夹访问中添加或删除文件夹。在这篇文章中,我们已经解释了一些可以做到这一点的方法。如何使

如何解决Python的文件夹未找到错误?如何解决Python的文件夹未找到错误?Jun 24, 2023 pm 04:32 PM

Python是一种流行的编程语言,但在使用中,经常会遇到一些错误。其中一个常见的错误是“文件夹未找到”。这个错误很容易让新手或者不熟悉Python的人感到困惑。在本文中,我们将讨论如何解决这个问题。1.确认文件夹路径是否正确在Python中,处理文件和文件夹的时候,需要指定文件和文件夹的路径。如果路径设置错误,那么就会导致程序无法找到文件夹。因此,我们需要先

Win11系统怎么显示隐藏文件夹Win11系统怎么显示隐藏文件夹Jun 29, 2023 am 11:50 AM

Win11系统怎么显示隐藏文件夹?我们日常使用电脑的时候,会有些比较私密文件储存在电脑上,因为比较私密所以不想要别人看到,这种情况我们可以选择隐藏文件夹,需要的时候也可以显示出来,如果你不知道如何隐藏显示文件夹,小编下面整理了Win11系统显示隐藏文件夹教程,感兴趣的话,一起往下看看吧!Win11系统怎么显示隐藏文件夹1、右键点击想要隐藏的文件夹,选择属性,在里面勾选【隐藏】。确定后这个文件夹就是隐藏的状态,一般情况下别人看不到。文件也可按此方法隐藏起来。如何把隐藏文件夹显示出来1、在本地磁盘里

文件夹变成exe文件是什么病毒文件夹变成exe文件是什么病毒Jul 11, 2023 am 10:28 AM

文件夹变成exe文件是文件夹病毒,其处理方法有:1、确保计算机安装了最新的杀毒软件;2、不要打开未知来源的电子邮件附件或下载可疑的网络文件;3、定期备份计算机的重要文件也是一项重要的防范措施。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는