最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP遞歸復(fù)制、移動(dòng)目錄的自定義函數(shù)分享

 更新時(shí)間:2014年11月18日 10:18:18   投稿:junjie  
這篇文章主要介紹了PHP遞歸復(fù)制、移動(dòng)目錄的自定義函數(shù)分享,本文的特點(diǎn)是對(duì)每一句代碼都做詳盡的注釋,需要的朋友可以參考下

雖然復(fù)制一個(gè)目錄是文件操作的基本功能。但PHP中也沒(méi)有給出特定的函數(shù),同樣需要自定義一個(gè)遞歸函數(shù)實(shí)現(xiàn)。要復(fù)制一個(gè)包含多個(gè)子目錄的目錄,將涉及文件的復(fù)制、目錄創(chuàng)建等操作。復(fù)制一個(gè)文件可以通過(guò)PHP提供的copy()函數(shù)完成,創(chuàng)建目錄可以使用mkdir()函數(shù)。定義函數(shù)時(shí),首先對(duì)源目錄進(jìn)行遍歷,如果遇到的是普通文件,直接使用copy()函數(shù)進(jìn)行復(fù)制。如果遍歷時(shí)遇到一個(gè)目錄,則必須建立該目錄,然后再對(duì)該目錄下的文件進(jìn)行復(fù)制操作,如果還有子目錄,則使用遞歸重復(fù)操作,最終將整個(gè)目錄復(fù)制完成。自定義的遞歸函數(shù)復(fù)制目錄的程序代碼如下所示:

復(fù)制代碼 代碼如下:

<?php
//自定義函數(shù)遞歸的復(fù)制帶有多級(jí)子目錄的目錄
function copyDir($dirSrc,$dirTo){
    if(is_file($dirTo)){      //如果目標(biāo)不是一個(gè)目錄則退出
        echo "目標(biāo)不是目錄不能創(chuàng)建!!";
        return; //退出函數(shù)
    }
    if(!file_exists($dirTo)){       //如果目標(biāo)不是一個(gè)目錄則退出
       mkdir($dirTo);              //創(chuàng)建目錄
    }
 
    if($dir_handle = @opendir($directory)){         //打開(kāi)目錄,并判斷是否能成功打開(kāi)
        while($filename = readdir($dir_handle)){          //循環(huán)遍歷目錄下的所有文件
            if($filename != "."&& $filename != ".."){          //一定要排除兩個(gè)特殊的目錄
               $subFile = $directory."/".$filename;          //將目錄下的子文件和當(dāng)前目錄相連
               $sunToFile = $dirTo."/".$filename;          //將目標(biāo)目錄的多級(jí)子目錄相連
               if(is_dir($subSrcFile))          //如果為目錄則條件成立
                   copyDir($subSrcFile,$subToFile);          //遞歸調(diào)用自己復(fù)制子目錄
               if(is_file($subSrcFile))          //如果是文件則條件成立
                   copy($subSrcFile,$subToFile);          //直接復(fù)制到目標(biāo)位置
            }
        }
        losedir($dir_handle);          //關(guān)閉文件資源
     }
}
 
//測(cè)試函數(shù),將目錄“phpMyAdmin”復(fù)制到“D:/admin”
copyDir("phpMyAdmin","D:/admin");
?>

從安全和跨平臺(tái)等方面考慮,盡量不要去調(diào)用操作系統(tǒng)的SHELL命令“cp-a”完成目錄的復(fù)制。

相關(guān)文章

  • php簡(jiǎn)單實(shí)現(xiàn)多維數(shù)組排序的方法

    php簡(jiǎn)單實(shí)現(xiàn)多維數(shù)組排序的方法

    這篇文章主要介紹了php簡(jiǎn)單實(shí)現(xiàn)多維數(shù)組排序的方法,涉及php數(shù)組的遍歷及array_multisort函數(shù)的相關(guān)使用技巧,需要的朋友可以參考下
    2016-09-09
  • 解決php接收shell返回的結(jié)果中文亂碼問(wèn)題

    解決php接收shell返回的結(jié)果中文亂碼問(wèn)題

    shell輸出的有中文,則php得到的中文返回結(jié)果為亂碼,下面有個(gè)不錯(cuò)的解決方法,大家可以參考下
    2014-01-01
  • PHP多進(jìn)程編程實(shí)例詳解

    PHP多進(jìn)程編程實(shí)例詳解

    這篇文章主要介紹了PHP多進(jìn)程編程方法,較為詳細(xì)的分析了PHP多進(jìn)程編程的概念、用法、相關(guān)函數(shù)與使用技巧,需要的朋友可以參考下
    2017-07-07
  • php INI配置文件的解析實(shí)現(xiàn)分析

    php INI配置文件的解析實(shí)現(xiàn)分析

    我不知道怎么說(shuō)才好,因?yàn)槲以谧xINI文件的時(shí)候,往往都是用現(xiàn)成的函數(shù):parse_ini_file或者是parse_ini_string,但怎么寫(xiě)入,就是另外的方法了(自己實(shí)現(xiàn)。。。。)
    2011-01-01
  • php連接mysql之mysql_connect()與mysqli_connect()的區(qū)別

    php連接mysql之mysql_connect()與mysqli_connect()的區(qū)別

    本擴(kuò)展自 PHP 5.5.0 起已廢棄,并在將來(lái)會(huì)被移除。應(yīng)使用 MySQLi 或 PDO_MySQL 擴(kuò)展來(lái)替換之,這里就為大家分享一下mysql_connect()與mysqli_connect()的區(qū)別,需要的朋友可以參考下
    2020-07-07
  • PHP隊(duì)列原理及基于隊(duì)列的寫(xiě)文件案例

    PHP隊(duì)列原理及基于隊(duì)列的寫(xiě)文件案例

    這篇文章主要介紹了PHP隊(duì)列原理及基于隊(duì)列的寫(xiě)文件案例,較為詳細(xì)的分析了隊(duì)列的原理、定義方法并結(jié)合實(shí)例形式給出了php基于隊(duì)列的寫(xiě)文件操作技巧,需要的朋友可以參考下
    2017-11-11
  • 10個(gè)對(duì)初學(xué)者非常有用的PHP技巧

    10個(gè)對(duì)初學(xué)者非常有用的PHP技巧

    這篇文章主要為大家詳細(xì)介紹了10個(gè)對(duì)初學(xué)者非常有用的PHP技巧,這些PHP技巧適用于初學(xué)者,而不是那些已經(jīng)在使用MVC框架的人,感興趣的小伙伴們可以參考一下
    2016-04-04
  • PHP實(shí)現(xiàn)的ID混淆算法類與用法示例

    PHP實(shí)現(xiàn)的ID混淆算法類與用法示例

    這篇文章主要介紹了PHP實(shí)現(xiàn)的ID混淆算法類與用法,結(jié)合實(shí)例形式分析了php針對(duì)數(shù)字基于位運(yùn)算、位移等操作的加密解密相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2018-08-08
  • PHP各版本中函數(shù)的類型聲明詳解

    PHP各版本中函數(shù)的類型聲明詳解

    本文給大家匯總介紹了下PHP各版本中函數(shù)的類型聲明的使用方法,非常簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下
    2018-01-01
  • php生成酷炫的四個(gè)字符驗(yàn)證碼

    php生成酷炫的四個(gè)字符驗(yàn)證碼

    可以生成隨機(jī)顏色、干擾線條元素、干擾點(diǎn)元素的php驗(yàn)證碼,這篇文章主要介紹了php生成酷炫的四個(gè)字符驗(yàn)證碼的編寫(xiě)方法,感興趣的小伙伴們可以參考一下
    2016-04-04

最新評(píng)論

伊春市| 兴山县| 滕州市| 科技| 云浮市| 南部县| 庄河市| 阆中市| 马边| 凤山县| 十堰市| 鹤庆县| 阳高县| 石首市| 深圳市| 庆安县| 梁山县| 桃园县| 河源市| 宜兴市| 永泰县| 沂南县| 当阳市| 恩施市| 大冶市| 资兴市| 阿勒泰市| 林口县| 枣庄市| 潜山县| 建昌县| 沁源县| 河西区| 顺义区| 墨竹工卡县| 阳谷县| 龙井市| 乡宁县| 乐东| 临沧市| 蒙山县|