PHP刪除非空目錄的函數(shù)代碼小結(jié)
更新時(shí)間:2013年02月28日 10:39:57 作者:
PHP中對(duì)于處理文件的操作函數(shù)有許多,下面是我搜集的一個(gè)刪除非空目錄的函數(shù)方法,感覺不錯(cuò),就摘抄下來(lái)了,在PHP的應(yīng)用中很實(shí)用,源碼不是很多,可以根據(jù)自己的需求進(jìn)行修改
有了這個(gè)小程序,PHPer就不用手動(dòng)進(jìn)行刪除計(jì)算機(jī)上的目錄文件了,在練習(xí)PHP目錄文件操作時(shí)就可以用這個(gè)函數(shù),在這個(gè)基礎(chǔ)上還可以增加瀏覽文件夾目錄,然后進(jìn)行刪除。
代碼一:
<?php
function d_rmdir($dirname) { //刪除非空目錄
if(!is_dir($dirname)) {
return false;
}
$handle = @opendir($dirname);
while(($file = @readdir($handle)) !== false){
if($file != '.' && $file != '..'){
$dir = $dirname . '/' . $file;
is_dir($dir) ? d_rmdir($dir) : unlink($dir);
}
}
closedir($handle);
return rmdir($dirname) ;
}
if(d_rmdir("./temp"))
echo "succes";
else
echo "false";
?>
第二個(gè)是從手冊(cè)中翻出來(lái)的:)
代碼二:
<?php
functionremove_directory($dir){
if($handle=opendir("$dir")){
while(false!==($item=readdir($handle))){
if($item!="."&&$item!=".."){
if(is_dir("$dir/$item")){
remove_directory("$dir/$item");
}else{
unlink("$dir/$item");
echo"removing$dir/$item<br> ";
}
}
}
closedir($handle);
rmdir($dir);
echo"removing$dir<br> ";
}
}
第三個(gè)是codebit.cn上面收集的,還是手冊(cè)里的好
代碼三:
functionremoveDir($dirName)
{
if(!is_dir($dirName))
{
returnfalse;
}
$handle=@opendir($dirName);
while(($file=@readdir($handle))!==false)
{
if($file!='.'&&$file!='..')
{
$dir=$dirName.'/'.$file;
is_dir($dir)?removeDir($dir):@unlink($dir);
}
}
closedir($handle);
returnrmdir($dirName);
}
?>
代碼一:
復(fù)制代碼 代碼如下:
<?php
function d_rmdir($dirname) { //刪除非空目錄
if(!is_dir($dirname)) {
return false;
}
$handle = @opendir($dirname);
while(($file = @readdir($handle)) !== false){
if($file != '.' && $file != '..'){
$dir = $dirname . '/' . $file;
is_dir($dir) ? d_rmdir($dir) : unlink($dir);
}
}
closedir($handle);
return rmdir($dirname) ;
}
if(d_rmdir("./temp"))
echo "succes";
else
echo "false";
?>
第二個(gè)是從手冊(cè)中翻出來(lái)的:)
代碼二:
復(fù)制代碼 代碼如下:
<?php
functionremove_directory($dir){
if($handle=opendir("$dir")){
while(false!==($item=readdir($handle))){
if($item!="."&&$item!=".."){
if(is_dir("$dir/$item")){
remove_directory("$dir/$item");
}else{
unlink("$dir/$item");
echo"removing$dir/$item<br> ";
}
}
}
closedir($handle);
rmdir($dir);
echo"removing$dir<br> ";
}
}
第三個(gè)是codebit.cn上面收集的,還是手冊(cè)里的好
代碼三:
復(fù)制代碼 代碼如下:
functionremoveDir($dirName)
{
if(!is_dir($dirName))
{
returnfalse;
}
$handle=@opendir($dirName);
while(($file=@readdir($handle))!==false)
{
if($file!='.'&&$file!='..')
{
$dir=$dirName.'/'.$file;
is_dir($dir)?removeDir($dir):@unlink($dir);
}
}
closedir($handle);
returnrmdir($dirName);
}
?>
您可能感興趣的文章:
- php中目錄操作opendir()、readdir()及scandir()用法示例
- 使用PHP函數(shù)scandir排除特定目錄
- PHP獲取當(dāng)前文件所在目錄 getcwd()函數(shù)
- php文件夾與文件目錄操作函數(shù)介紹
- php中判斷文件空目錄是否有讀寫權(quán)限的函數(shù)代碼
- PHP解析目錄路徑的3個(gè)函數(shù)總結(jié)
- PHP使用glob函數(shù)遍歷目錄或文件夾的方法
- php file_exists 檢查文件或目錄是否存在的函數(shù)
- PHP遍歷目錄函數(shù)opendir()、readdir()、closedir()、rewinddir()總結(jié)
- PHP目錄函數(shù)實(shí)現(xiàn)創(chuàng)建、讀取目錄教程實(shí)例
- php使用scandir()函數(shù)掃描指定目錄下所有文件示例
相關(guān)文章
How do I change MySQL timezone?
The MySQL timezone is set to MST (-7 hours GMT/UTC) and is not configurable by you. MySQL is only capable of having 1 timezone setting per mysql daemon. Therefore, you cannot select NOW() and expect a result in a timezone other than MST.2008-03-03判斷php數(shù)組是否為索引數(shù)組的實(shí)現(xiàn)方法
本篇文章是對(duì)判斷php數(shù)組是否為索引數(shù)組的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06php中的路徑問題與set_include_path使用介紹
這篇文章主要介紹了php中的路徑問題與set_include_path,需要的朋友可以參考下2014-02-02使用游標(biāo)進(jìn)行PHP SQLSRV查詢的方法與注意事項(xiàng)
在 PHP 中使用 SQLSRV 查詢時(shí),如果查詢結(jié)果集較大,可以考慮使用游標(biāo)來(lái)提高查詢效率。使用游標(biāo)可以將查詢結(jié)果集分成多個(gè)小部分進(jìn)行處理,減輕服務(wù)器的負(fù)擔(dān),提高查詢性能2023-05-05PHP的substr_replace將指定兩位置之間的字符替換為*號(hào)
PHP的substr_replace將指定兩位置之間的字符替換為*號(hào)的代碼,需要的朋友可以參考下。2011-05-05PHP-FPM 設(shè)置多pool及配置文件重寫操作示例
這篇文章主要介紹了PHP-FPM 設(shè)置多pool及配置文件重寫操作,涉及PHP使用PHP-FPM實(shí)現(xiàn)進(jìn)程管理的相關(guān)操作技巧,需要的朋友可以參考下2019-10-10