12.2.5 復制、移動目錄
copy -- 拷貝文件
語法:bool copy ( string source, string dest )
將文件從 source 拷貝到 dest。如果成功則返回 TRUE,失敗則返回 FALSE。
PHP中沒有提供復制與移動目錄的相關函數。如需要,只要自定義函數了。
如何定義一個目錄復制函數呢?
rename.php
<?php
rename("phpmyadmin", "phpadmin");
test.php
<?php
/**
* $dirsrc 原目錄
* $dirto 目標目錄
*
*/
function copydir($dirsrc, $dirto) {
//如果原來的文件存在, 是不是一個目錄
if(file_exists($dirto)) {
if(!is_dir($dirto)) {
echo "目標不是一個目錄, 不能copy進去<br>";
exit;
}
}else{
mkdir($dirto);
}
$dir = opendir($dirsrc);
while($filename = readdir($dir)) {
if($filename != "." && $filename !="..") {
$srcfile = $dirsrc."/".$filename; //原文件
$tofile = $dirto."/".$filename; //目標文件
if(is_dir($srcfile)) {
copydir($srcfile, $tofile); //遞歸處理所有子目錄
}else{
copy($srcfile, $tofile);
}
}
}
}
copydir("phpadmin", "d:/phpadmin");