move 함수
작성일 18-08-20 16:25
페이지 정보
작성자서방님 조회 204회 댓글 0건본문
<?
$FILENAME1 = $_SERVER["DOCUMENT_ROOT"]."/test2/aaa.php"; // /home/seobangnim/www
$FILENAME2 = $_SERVER["DOCUMENT_ROOT"]."/test2/bbb.php";
if (file_exists($FILENAME1)) { // 해당 경로에 원본 파일이 존재한다면
Debug("파일 존재");
$result = rename($FILENAME1, $FILENAME2); // 대상 경로에 파일 이름 변경하여 move
Debug($result);
}
else {
Debug("파일 존재 X");
}
Debug("완료");
?>
===================================
출처 : http://itrooms.tistory.com/98
PHP 함수중에 move라는 함수는 없다. move 대신에 rename이라는 함수가 있다.
그리고 rename 말고도 파일을 이동하는 방법은 여러가지가 있다.
1. copy 후 unlink
2. rename 함수 사용
3. exec 함수로 mv 명령어 호출
등등 여러 방법이 있을 것이다.
▶ copy 후 unlink
▶ rename 함수 사용
$FILENAME1 = "./dir1/file.txt";
$FILENAME2 = "./dir2/file.txt";
if(file_exists($FILENAME1)) {
rename($FILENAME1, $FILENAME2);
}
▶ exec 함수로 mv 명령어 호출
첫번째 방법은 파일을 복사후 원본을 삭제시키는 방법인데 가장 확실하지만 복사 후 지우기 때문에 속도가 느리다.
여러개의 파일을 옮기려고 한다면 rename 함수나 exec로 mv 명령어를 사용하는게 좋지 않을까 싶다.
그리고 작업시간이 오래걸릴 수도 있으니 아래 코드를 맨 위에 넣어주도록 하자.
set_time_limit(0);
디렉토리가 없으면 만들어 주자.
$DEST_DIR = "./dir2/";
if(!is_dir($DEST_DIR)) {
if(@mkdir($DEST_DIR, 0777, true)) {
if(is_dir($DEST_DIR)) {
@chmod($DEST_DIR, 0777);
}
}
}
없는 디렉토리에 옮길려고 하면 안되니 이부분을 우선 실행해주도록 하자.
댓글목록
등록된 댓글이 없습니다.