php中建立多級目錄與刪除多級目錄和檔案

來源:互聯網
上載者:User

php中mkdir建立多級目錄

 代碼如下 複製代碼
function mkdirs($dir) 
{  if(!is_dir($dir)) 
{  if(!mkdirs(dirname($dir)))
{  return false;  } 
if(!mkdir($dir,0777))
{  return false;  }  }
 return true; 

調用方法

mkdirs('div/css/layout'); 


建立多級目錄更標準的方法

 代碼如下 複製代碼

//檢查並建立多級目錄
    function checkDir($path){
        $pathArray = explode('/',$path);
        $nowPath = '';
        array_pop($pathArray);
        foreach ($pathArray as $key=>$value){
            if ( ''==$value ){
                unset($pathArray[$key]);
            }else{
                if ( $key == 0 )
                    $nowPath .= $value;
                else
                    $nowPath .= '/'.$value;
                if ( !is_dir($nowPath) ){
                    if ( !mkdir($nowPath, 0777) ) return false;
                }
            }
        }
        return true;
    }

刪除多級目錄方法

在winxp下測試成功,只要php檔案編碼為gb2312,檔案名稱隨意,應該把檔案名稱改為編碼為gb2312,就行,沒測

 代碼如下 複製代碼

<?php
header("Content-Type:text/html; charset=gb2312");
if(deleteDir('./複件 複件 複件 複件 複件 複件 複件 複件 複件 複件 複件 aaa'))
echo "刪除成功";
function deleteDir($dir)
{
if (@rmdir($dir)==false && is_dir($dir)) //刪除不了,進入刪除所有檔案
{
if ($dp = opendir($dir))
{
while (($file=readdir($dp)) != false)
{
if($file!='.' && $file!='..')
{ //echo $file=$dir.'/'.$file;echo '<br/>';
$file=$dir.'/'.$file;
if (is_dir($file)) //是真實目錄
{
deleteDir($file);
}else {
unlink($file);
}
}
}
closedir($dp);
}else
{
return false;
}
}
if (is_dir($dir) && @rmdir($dir)==false) //是目錄刪除不了
return false;
return true;
}
?>

遞迴刪除多級目錄

同樣的思路,php用rmdir和unlink遞迴刪除多級目錄的代碼: 

 代碼如下 複製代碼

function rmdirs($dir) 

$d = dir($dir); 
while (false !== ($child = $d->read())){ 
if($child != '.' && $child != '..')

if(is_dir($dir.'/'.$child)) 
rmdirs($dir.'/'.$child); 
else
unlink($dir.'/'.$child);  } 

$d->close();

//調用方法也很簡單只要給目錄就好 
rmdir($dir);
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.