Maison > Article > développement back-end > php删除不是空目录实现代码_PHP教程
php中自带的函数rmdir只能删除空目录,如果你要删除带有文件或有目录的目录,需要递归与unlink一起使用了,下面我们看看删除不是空目录的自定义函数。
php教程删除不是空目录实现代码
本教程先是简单简介了rmdir来删除空目录,然后再引伸到删除不是空目录的自定义函数的写法与实现代码。
*/
//rmdir(dir,context) rmdir() 函数删除空的目录。
$path ='';
if( is_dir( $path ) )
{
if( rmdir( $path ) )
{
echo '删除目录成功';
}
}
else
{
echo '不是目录';
}
/*
总结
php中自带的函数rmdir只能删除空目录,如果你要删除带有文件或有目录的目录,需要递归与unlink一起使用了,下面我们看看删除不是空目录的自定义函数。
*/
/**
* 删除文件或文件夹(递归)
* @param array $filelist
* @param string $option
* @param string $fileext 要删除的文件扩展名 格式:'html'
* @return void
*/
function rm($filelist, $option='r', $fileext = null, $if_rmdir = false) {
if (!is_array($filelist)) {
$filelist = explode('|', $filelist);
}
foreach ($filelist as $filename) {
if (is_file($filename)) {
if (empty($fileext)) {
unlink($filename);
} else {
if (substr(strrchr($filename, '.'), 1 ) == $fileext){
unlink($filename);
}
}
} elseif (is_dir($filename)) {
if (strpos($option, 'r')!==false) {
$file_list_ = ls($filename);
foreach ($file_list_ as $fi => $file) {
$file_list_[$fi] = $filename . $file;
}
rm($file_list_, $option, $fileext);
}
if ($if_rmdir) {
rmdir($filename);
}
}
}
}
//调用方法