ホームページ  >  記事  >  バックエンド開発  >  PHPでフォルダーをコピーする方法

PHPでフォルダーをコピーする方法

WBOY
WBOYオリジナル
2016-06-13 12:11:341390ブラウズ

PHPでフォルダーをコピーするにはどうすればよいですか?

php にはファイルコピー関数 copy() しかありません。何もすることがないので、練習のために再帰を使用してディレクトリをコピーする関数を作成しました。これも非常に時間がかかりました。まだまだ練習と思考が必要なようです。


<?php/*复制当前目录下所有的文件去目标文件夹$cpath 当前目录$dpath 目标目录$type all复制当前所有文件去目标目录,dir复制所有文件至同一目录$i 用来统计数量总*/function copydir_user($cpath,$dpath,&$i,$type='all'){	if($i == 0){		if(!($cpath = judge_dir($cpath,true))){			return false;		}		$dpath = judge_dir($dpath,false);	}	$handle = opendir($cpath);	while (false !== ($file = readdir($handle))) {		if($file!='.'&&$file!='..'){			if(is_dir($cpath.$file)){				$scpath = $cpath.$file.'/';				$sdpath = $dpath;				if($type == 'dir'){					$sdpath = $dpath.$file.'/';					$sdpath = judge_dir($sdpath,false);				}				copydir_user($scpath,$sdpath,$i,$type);			}else{				$current = $cpath.$file;				$source = $dpath.$file; 				copy($current,$source);				$i++;			}	   }   	}}function judge_dir($dirname,$tips=true){	if(substr($dirname,strlen($dirname)-1) != '/'){		$dirname.='/';			}	if(!file_exists($dirname)){		if($tips){			echo 'directory is not exists';			return false;		}else{			mkdir($dirname);		}	}	return $dirname;}$des_path='C:/Users/alex/Desktop/test';//目标目录$cur_path = 'E:/xampp/htdocs/bbs/api'; //当前目录$i=0;copydir_user($cur_path,$des_path,$i,'dir');echo $i;

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。