How to delete non-empty directory in php rmdir
php rmdir method to delete a non-empty directory: first create a PHP sample file; then define a delDir function; then traverse the directory and read out the files or folders in the directory; finally delete through the unlink and rmdir functions Files and empty directories are sufficient.
#The operating environment of this article: Windows7 system, PHP7.1, Dell G3 computer.
We all know that the php rmdir() function is used to delete empty directories, but if we want to delete a non-empty directory, we must delete the files or subdirectories in the non-empty directory. This article introduces php to you How to use recursive functions to delete non-empty directories, friends in need can refer to
First, let me introduce the rmdir() function.
php rmdir() function
rmdir - delete empty directory
Syntax:
bool rmdir ( string $dirname [, resource $context ] )
Try to delete the directory specified by dirname. The directory must be empty and must have appropriate permissions. An E_WARNING level error will be generated on failure.
Parameters:
1.dirname: The path to the directory.
2.context: Added support for context in PHP 5.0.0.
php rmdir() deletes a non-empty directory
As mentioned above, the rmdir() function can only delete empty directories. If it is a non-empty directory, you need to enter the directory first and use unlink( ) function deletes every file in the directory, and then comes back to delete the empty directory. If there are subdirectories in the directory and the directory is not empty, you need to use the recursive method. The source code of the custom recursive function to delete a directory is as follows:
<?php function delDir($directory){//自定义函数递归的函数整个目录 if(file_exists($directory)){//判断目录是否存在,如果不存在rmdir()函数会出错 if($dir_handle=@opendir($directory)){//打开目录返回目录资源,并判断是否成功 while($filename=readdir($dir_handle)){//遍历目录,读出目录中的文件或文件夹 if($filename!='.' && $filename!='..'){//一定要排除两个特殊的目录 $subFile=$directory."/".$filename;//将目录下的文件与当前目录相连 if(is_dir($subFile)){//如果是目录条件则成了 delDir($subFile);//递归调用自己删除子目录 } if(is_file($subFile)){//如果是文件条件则成立 unlink($subFile);//直接删除这个文件 } } } closedir($dir_handle);//关闭目录资源 rmdir($directory);//删除空目录 } } } delDir("mydir");//调用delDir函数 ?>
In addition to processing recursive deletion of non-empty directories, we can also use the operating system command "rm -rf" to delete non-empty directories, but we must also consider security and Consider cross-platform considerations and try not to use it.
[Recommended learning: "PHP Video Tutorial"]
The above is the detailed content of How to delete non-empty directory in php rmdir. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

In this chapter, we will understand the Environment Variables, General Configuration, Database Configuration and Email Configuration in CakePHP.

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

To work on file upload we are going to use the form helper. Here, is an example for file upload.

In this chapter, we are going to learn the following topics related to routing ?

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

Validator can be created by adding the following two lines in the controller.
