Home >Backend Development >PHP Problem >How to delete all files in a directory in php?
php method to delete all files in a directory: first use the scandir() function to traverse all files in a directory and return an array; then use foreach to traverse the array, and use the unlink() and rmdir() functions in foreach to delete All subdirectories and files in this directory will do.
For more programming-related knowledge, please visit: Introduction to Programming! !
php delete all files in the directory
Use PHP to traverse all directories and files in a directory and delete the directory and its directory All subdirectories and files, this code is implemented recursively.
Mainly used functions:
scandir($path) traverses all files in a directory and returns an array.
unlink($filename) Delete the file.
rmdir($path) only deletes empty folders.
PHP code:
/** * 删除当前目录及其目录下的所有目录和文件 * @param string $path 待删除的目录 * @note $path路径结尾不要有斜杠/(例如:正确[$path='./static/image'],错误[$path='./static/image/']) */ function deleteDir($path) { if (is_dir($path)) { //扫描一个目录内的所有目录和文件并返回数组 $dirs = scandir($path); foreach ($dirs as $dir) { //排除目录中的当前目录(.)和上一级目录(..) if ($dir != '.' && $dir != '..') { //如果是目录则递归子目录,继续操作 $sonDir = $path.'/'.$dir; if (is_dir($sonDir)) { //递归删除 deleteDir($sonDir); //目录内的子目录和文件删除后删除空目录 @rmdir($sonDir); } else { //如果是文件直接删除 @unlink($sonDir); } } } @rmdir($path); } }
For more programming-related knowledge, please visit: Introduction to Programming! !
The above is the detailed content of How to delete all files in a directory in php?. For more information, please follow other related articles on the PHP Chinese website!