猿问

目录复制,不同的路径有的可以成功,有的则失败?

function copyFile($dirs,$dirt) {//2个参数

		//判断文件是否存在,
	    if(file_exists($dirt)) {
			if(!is_dir($dirt)) {
			
			    echo '目标不是目录,无法copy<br>';
				exit;

			}
		}else{
		
		    mkdir($dirt);
		
		}

        $dir = opendir($dirs);

        while($dirname = readdir($dir)) {
		    if($dirname != "." && $dirname != "..") {
			    $files = $dirs.'/'.$dirname;//原文件的路径
				$filet = $dirt.'/'.$dirname;//赋值文件目标的路径

				if(is_dir($files)) {
				    copyFile($files,$filet);//递归处理赋值文件
				}else{
				    copy($files,$filet);
				}
			}
		}

		closedir($dir);

	}

	copyFile("phpmyadmin","test/admin");//无法执行,提示  Warning: mkdir(): No such file or directory in D:\wamp\www\chapter12\dir_copy&move.php on line 46

	copyFile("phpmyadmin","myadmin");//可以成功复制

	copyFile("phpmyadmin","../phpmyadmin");//可以成功复制
	
	copyFile("phpmyadmin","f:/myadmin");//可以成功复制

如题,请问如何完善代码?谢谢

慕容粉丝
浏览 1508回答 1
1回答

NoteF

看了下你复制成功的例子,都是可以实际找到的,myadmin,是当前文件夹的,../phpmyadmin 是上层目录的,最后一个是绝对路径。你那个test/admin是当前路径下的吗?如果是的话可以改成 ./test/admin 使用相对路径试试
随时随地看视频慕课网APP
我要回答