程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php刪除非空目錄自定義函數

php刪除非空目錄自定義函數

編輯:關於PHP編程

       //循環刪除目錄和文件函數

    代碼如下  

    function delDirAndFile( $dirName )
    {
    if ( $handle = opendir( “$dirName” ) ) {
    while ( false !== ( $item = readdir( $handle ) ) ) {
    if ( $item != “.” && $item != “..” ) {
    if ( is_dir( “$dirName/$item” ) ) {
    delDirAndFile( “$dirName/$item” );
    } else {
    if( unlink( “$dirName/$item” ) )echo “成功刪除文件: $dirName/$item
    n”;
    }
    }
    }
    closedir( $handle );
    if( rmdir( $dirName ) )echo “成功刪除目錄: $dirName
    n”;
    }
    }
    ?>

      //循環目錄下的所有文件

    代碼如下  

    function delFileUnderDir( $dirName=”../Smarty/templates/templates_c” )
    {
    if ( $handle = opendir( “$dirName” ) ) {
    while ( false !== ( $item = readdir( $handle ) ) ) {
    if ( $item != “.” && $item != “..” ) {
    if ( is_dir( “$dirName/$item” ) ) {
    delFileUnderDir( “$dirName/$item” );
    } else {
    if( unlink( “$dirName/$item” ) )echo “成功刪除文件: $dirName/$item
    n”;
    }
    }
    }
    closedir( $handle );
    }
    }

    ?>

      目錄刪除函數

    代碼如下  

    function my_del_dir($directory)


    {
    if (is_dir($directory) == false)
    {
    exit("The Directory Is Not Exist!");
    }
    $handle = opendir($directory);
    while (($file = readdir($handle)) !== false)
    {
    if ($file != "." && $file != "..")
    {
    is_dir("$directory/$file")?
    my_del_dir("$directory/$file"):
    unlink("$directory/$file");
    }
    }
    if (readdir($handle) == false)
    {
    closedir($handle);
    rmdir($directory);
    }
    }
    ?>

      自己寫的一個

      $sourceDir 要刪除的目錄路徑

      調用方法 DeleteDir(“images/abc”); //刪除abc目錄

    代碼如下  

    function DeleteDir($sourceDir){
    $succeed = true;
    if(file_exists($sourceDir)){
    $objDir = opendir($sourceDir);
    while(false !== ($fileName = readdir($objDir))){
    if(($fileName != “.”) && ($fileName != “..”)){
    chmod(“$sourceDir/$fileName”,0777);
    if(!is_dir(“$sourceDir/$fileName”)){
    if(!unlink(“$sourceDir/$fileName”)){
    $succeed = false;
    break;
    }
    }
    else{
    DeleteDir(“$sourceDir/$fileName”);
    }
    }
    }
    if(!readdir($objDir)){
    closedir($objDir);
    if(!rmdir($sourceDir)){
    $succeed = false;
    }
    }
    }
    return $succeed;
    }

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved