PHP를 사용하여 파일 저장소를 새 폴더에 복사하려면 어떻게합니까?

StackOverflow https://stackoverflow.com/questions/2427143

  •  19-09-2019
  •  | 
  •  

문제

관리 폴더에 "Repository"라는 폴더가 있습니다. 이 폴더는 index.html 및 content.php의 두 파일을 보유합니다. 사용자가 새 페이지를 생성하면 PHP는 사용자가 지정한 새 폴더를 생성 한 다음 두 파일을 해당 폴더에 복사하면서 저장소에 남겨 두어야합니다.

복사 (파일, dest)는 작동하지 않습니다. 이름 바꾸기 (파일, dest) 파일을 새 폴더로 이동하지만 저장소에서 잃어 버립니다.

원래 폴더의 파일을 잃지 않고 한 폴더의 파일을 한 폴더의 파일을 새 폴더에 어떻게 복사합니까?

$dest = '../'.$menuLocation.'/'.$pageName; 
$file1= "repository/index.html"; 
$file2= "repository/content.php"; 
mkdir($dest,0777); 
rename($file1,$dest.'/index.html'); 
rename($file2,$dest.'/content.php');

$ menulocation 및 $ pagename은 사용자가 제공합니다. 파일이 있고 file_exists는 다시 사실을 반환합니다. 또한 디렉토리는 문제없이 만들어집니다. Rename ()도 작동합니다. 저장소에서 파일을 잃어 버립니다.

도움이 되었습니까?

해결책

이에 대한 해결책을 찾는 사람은 누구나 다음과 같습니다.

php에서 copy ()를 사용하는 경우 파일 이름도 포함해야합니다.

copy(orginalfile,destination_with_filename);

예를 들어:

잘못된:

copy('/temp/sports/basketball.jpg','/images/sports/')

옳은:

copy('/temp/sports/basketball.jpg','/images/sports/basketball.jpg')

다른 팁

copy ()를 사용하십시오. 프로그램이 작동하는지 여부를 알 수 있도록 반환 값을 캡처해야합니다. 또한 파일과 디렉토리의 권한을 확인하여 PHP 스크립트를 실행하는 사용자가 지정된 위치에 새 파일을 만들 수 있는지 확인하십시오. 디렉토리에서 IS_WRIBLE ()를 사용하여 이러한 가정을 확인할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top