move 함수 > php

본문 바로가기
사이트 내 전체검색

php

move 함수

페이지 정보

작성자 서방님 댓글 0건 조회 686회 작성일 18-08-20 16:25

본문

<?

$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

$FILENAME1 = "./dir1/file.txt";
$FILENAME2 = "./dir2/file.txt";

if(file_exists($FILENAME1)) {
if(copy($FILENAME1, $FILENAME2)) {
unlink($FILENAME1);
}
}

 rename 함수 사용

$FILENAME1 = "./dir1/file.txt";

$FILENAME2 = "./dir2/file.txt";


if(file_exists($FILENAME1)) {

rename($FILENAME1, $FILENAME2);

}


 exec 함수로 mv 명령어 호출

$FILENAME1 = "./dir1/file.txt";
$FILENAME2 = "./dir2/file.txt";

if(file_exists($FILENAME1)) {
exec("mv ".$FILENAME1." ".$FILENAME2);
}


첫번째 방법은 파일을 복사후 원본을 삭제시키는 방법인데 가장 확실하지만 복사 후 지우기 때문에 속도가 느리다.

여러개의 파일을 옮기려고 한다면 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);

}

}

}

없는 디렉토리에 옮길려고 하면 안되니 이부분을 우선 실행해주도록 하자.


댓글목록

등록된 댓글이 없습니다.

Total 615건 10 페이지
게시물 검색

회원로그인

접속자집계

오늘
492
어제
1,035
최대
26,974
전체
699,378
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.