PHP에는 자체 FTP 함수가 있습니다. 여기서는 FTP 함수를 이용하지 않고 오직 CURL 만을 이용해 FTP 를 관리해 보겠습니다.


CURL에는 많은 기능이 있습니다. 자주 사용하는 몇가지를 소개합니다.


1. 파일을 업로드하는 방법.

// 서버 경로 
$realserver 'ftp://habonyphp.com/public_html/data/'
// 서버 사용자 정보 
$user 'habony'
$pass '123456'

// 업로드할 파일 
$realfile $_FILES['uerfile']['tmp_name']; 

$ch curl_init(); 
curl_setopt($chCURLOPT_UPLOAD1); 
curl_setopt($chCURLOPT_INFILE, @fopen($realfile'r')); 
curl_setopt($chCURLOPT_INFILESIZE, @filesize($realfile)); 

curl_setopt($chCURLOPT_URL$realserver); 
curl_setopt($chCURLOPT_USERPWD$user ':' $pass); 
curl_exec($ch); 
curl_close($ch);


2. 파일을 다운로드 방법.


// 서버 경로 
$realserver 'ftp://habonyphp.com/public_html/data/'
// 서버 사용자 정보 
$user 'habony'
$pass '123456'

// 다운로드할 파일 
$realfile = 'example.gif';


$remote tempnam(sys_get_temp_dir(), 'CURL_FTP'); 

$ch curl_init(); 
curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue); 
curl_setopt($chCURLOPT_FILE$fp = @fopen($remote'w+')); 

curl_setopt($chCURLOPT_URL$realserver . $realfile); 

curl_setopt($chCURLOPT_USERPWD$user ':' $pass); 
curl_exec($ch); 
curl_close($ch); 
fclose($fp); 

// URL 경로 
$url $remote


3. 파일을 삭제하는 방법.


// 서버 경로 
$realserver 'ftp://habonyphp.com/public_html/data/'
// 서버 사용자 정보 
$user 'habony'
$pass '123456'

// 삭제할 파일 
$list = array(
 'DELE habony.gif''DELE namefile.bmp''DELE example.jpg'
); 

$ch curl_init(); 
curl_setopt($chCURLOPT_POSTQUOTE$list); 

curl_setopt($chCURLOPT_URL$realserver); 
curl_setopt($chCURLOPT_USERPWD$user ':' $pass); 
curl_exec($ch); 
curl_close($ch); 


4. 파일의 이름을 변경.


// 서버 경로 
$realserver 'ftp://habonyphp.com/public_html/data/'
// 서버 사용자 정보 
$user 'habony'
$pass '123456'

// 현재 파일 
$old 'old.bmp'
// 새로운 이름 
$new 'new.bmp'

$ch curl_init(); 
curl_setopt($chCURLOPT_POSTQUOTE, array("RNFR " $old"RNTO " $new); 

curl_setopt($chCURLOPT_URL$realserver); 
curl_setopt($chCURLOPT_USERPWD$user ':' $pass); 
curl_exec($ch); 
curl_close($ch); 


5. 폴더를 삭제하는 방법.


// 서버 경로 
$realserver 'ftp://habonyphp.com/public_html/data/'
// 서버 사용자 정보 
$user 'habony'
$pass '123456'

// 삭제할 폴더 
$rmdir 'dirname'

$ch curl_init(); 
curl_setopt($chCURLOPT_POSTQUOTE, array("RMD " $rmdir); 

curl_setopt($chCURLOPT_URL$realserver); 
curl_setopt($chCURLOPT_USERPWD$user ':' $pass); 
curl_exec($ch); 
curl_close($ch);


6. 폴더를 만드는 방법.


// 서버 경로 
$realserver 'ftp://habonyphp.com/public_html/data/'
// 서버 사용자 정보 
$user 'habony'
$pass '123456'

// 생성할 폴더 
$mkdir 'dirname'

$ch curl_init(); 
curl_setopt($chCURLOPT_POSTQUOTE, array("MKD " $mkdir); 

curl_setopt($chCURLOPT_URL$realserver); 
curl_setopt($chCURLOPT_USERPWD$user ':' $pass); 
curl_exec($ch); 
curl_close($ch);


7. 권한을 설정하는 방법.


// 서버 경로 
$realserver 'ftp://habonyphp.com/public_html/data/'
// 서버 사용자 정보 
$user 'habony'
$pass '123456'

// 설정할 폴더/파일 
$fname 'data'

$ch curl_init(); 
curl_setopt($chCURLOPT_POSTQUOTE, array("SITE CHMOD 0707 " $fname); 

curl_setopt($chCURLOPT_URL$realserver); 
curl_setopt($chCURLOPT_USERPWD$user ':' $pass); 
curl_exec($ch); 
curl_close($ch);


8. 파일 목록을 출력하는 방법.


 // 서버 경로
$realserver 'ftp://habonyphp.com/public_html/data/'
// 서버 사용자 정보 
$user 'habony'
$pass '123456'


$ch curl_init(); 
curl_setopt($chCURLOPT_RETURNTRANSFER1); 

curl_setopt($chCURLOPT_URL$realserver); 
curl_setopt($chCURLOPT_USERPWD$user ':' $pass); 
$list curl_exec($ch); 
curl_close($ch); 

print_r($list); 


신고

◀ PREV : [1] : ... [2] : [3] : [4] : [5] : [6] : [7] : [8] : [9] : [10] : ... [622] : NEXT ▶