一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - PHP遞歸復(fù)制、移動(dòng)目錄的自定義函數(shù)分享

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

2020-08-12 14:41junjie PHP教程

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

雖然復(fù)制一個(gè)目錄是文件操作的基本功能。但PHP中也沒有給出特定的函數(shù),同樣需要自定義一個(gè)遞歸函數(shù)實(shí)現(xiàn)。要復(fù)制一個(gè)包含多個(gè)子目錄的目錄,將涉及文件的復(fù)制、目錄創(chuàng)建等操作。復(fù)制一個(gè)文件可以通過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)){         //打開目錄,并判斷是否能成功打開
        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ù)制。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费国产高清视频 | 邪恶肉肉全彩色无遮琉璃神社 | 国产成人黄网在线免 | 亚洲精美视频 | 色综合九九 | 国产成人精品高清免费 | 欧美日韩精品一区二区三区视频 | 精品久久久噜噜噜久久7 | 亚洲、国产综合视频 | 污小说h| 40岁女人三级全黄 | 波多野结衣黑人系列在线观看 | 国产亚洲毛片在线 | 欧美一二 | 国产精品免费观在线 | 视频一本大道香蕉久在线播放 | 亚裔aⅴ艳星katsuni | 欧美另类变态 | 精品成人网 | 日韩精品福利视频一区二区三区 | 天干夜天天夜天干天ww | 赤坂丽女医bd无删减在线观看 | 国产午夜精品久久理论片 | 亚洲娇小性hd | 欧美极品摘花过程 | 精品女同一区二区三区免费站 | 成人在线一区二区三区 | 国模娜娜一区二区三区 | 18欧美同性videos可播放 | 2022国产麻豆剧传媒古装 | 女人全身裸露无遮挡免费观看 | 好大好硬好深好爽想要吃奶 | 啊哈~嗯哼~用力cao我小说 | 日韩在线观看网址 | aⅴ导航站 | 我们日本在线观看免费动漫下载 | 91大神在线观看精品一区 | 车上小婕子系列辣文小说 | 亚洲精品第五页 | 午夜精品久久久久久久99蜜桃i | 免费一级特黄特色大片在线观看 |