728x90
반응형
■ PHP CURL를 이용해 FTP 제어하기
■ 사용법
1. 파일을 업로드하는 방법
<?php
// 서버 경로
$realserver = 'ftp://habonyphp.com/public_html/data/';
// 서버 사용자 정보
$user = 'habony';
$pass = '123456';
// 업로드할 파일
$realfile = $_FILES['uerfile']['tmp_name'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_UPLOAD, 1);
curl_setopt($ch, CURLOPT_INFILE, @fopen($realfile, 'r'));
curl_setopt($ch, CURLOPT_INFILESIZE, @filesize($realfile));
curl_setopt($ch, CURLOPT_URL, $realserver);
curl_setopt($ch, CURLOPT_USERPWD, $user . ':' . $pass);
curl_exec($ch);
curl_close($ch);
?>
2. 파일을 다운로드 방법
<?php
// 서버 경로
$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($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_FILE, $fp = @fopen($remote, 'w+'));
curl_setopt($ch, CURLOPT_URL, $realserver . $realfile);
curl_setopt($ch, CURLOPT_USERPWD, $user . ':' . $pass);
curl_exec($ch);
curl_close($ch);
fclose($fp);
// URL 경로
$url = $remote;
?>
3. 파일을 삭제하는 방법
<?php
// 서버 경로
$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($ch, CURLOPT_POSTQUOTE, $list);
curl_setopt($ch, CURLOPT_URL, $realserver);
curl_setopt($ch, CURLOPT_USERPWD, $user . ':' . $pass);
curl_exec($ch);
curl_close($ch);
?>
4. 파일의 이름변경
<?php
// 서버 경로
$realserver = 'ftp://habonyphp.com/public_html/data/';
// 서버 사용자 정보
$user = 'habony';
$pass = '123456';
// 현재 파일
$old = 'old.bmp';
// 새로운 이름
$new = 'new.bmp';
$ch = curl_init();
curl_setopt($ch, CURLOPT_POSTQUOTE, array("RNFR " . $old, "RNTO " . $new);
curl_setopt($ch, CURLOPT_URL, $realserver);
curl_setopt($ch, CURLOPT_USERPWD, $user . ':' . $pass);
curl_exec($ch);
curl_close($ch);
?>
5. 폴더삭제 방법
<?php
// 서버 경로
$realserver = 'ftp://habonyphp.com/public_html/data/';
// 서버 사용자 정보
$user = 'habony';
$pass = '123456';
// 삭제할 폴더
$rmdir = 'dirname';
$ch = curl_init();
curl_setopt($ch, CURLOPT_POSTQUOTE, array("RMD " . $rmdir);
curl_setopt($ch, CURLOPT_URL, $realserver);
curl_setopt($ch, CURLOPT_USERPWD, $user . ':' . $pass);
curl_exec($ch);
curl_close($ch);
?>
6. 폴더생성 방법
<?php
// 서버 경로
$realserver = 'ftp://habonyphp.com/public_html/data/';
// 서버 사용자 정보
$user = 'habony';
$pass = '123456';
// 생성할 폴더
$mkdir = 'dirname';
$ch = curl_init();
curl_setopt($ch, CURLOPT_POSTQUOTE, array("MKD " . $mkdir);
curl_setopt($ch, CURLOPT_URL, $realserver);
curl_setopt($ch, CURLOPT_USERPWD, $user . ':' . $pass);
curl_exec($ch);
curl_close($ch);
?>
7. 권한설정하는 방법
<?php
// 서버 경로
$realserver = 'ftp://habonyphp.com/public_html/data/';
// 서버 사용자 정보
$user = 'habony';
$pass = '123456';
// 설정할 폴더/파일
$fname = 'data';
$ch = curl_init();
curl_setopt($ch, CURLOPT_POSTQUOTE, array("SITE CHMOD 0707 " . $fname);
curl_setopt($ch, CURLOPT_URL, $realserver);
curl_setopt($ch, CURLOPT_USERPWD, $user . ':' . $pass);
curl_exec($ch);
curl_close($ch);
?>
8. 파일 목록을 출력하는 방법
<?php
// 서버 경로
$realserver = 'ftp://habonyphp.com/public_html/data/';
// 서버 사용자 정보
$user = 'habony';
$pass = '123456';
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $realserver);
curl_setopt($ch, CURLOPT_USERPWD, $user . ':' . $pass);
$list = curl_exec($ch);
curl_close($ch);
print_r($list);
?>
출처
728x90
반응형
'PHP' 카테고리의 다른 글
[PHP] php 특정문자 제거 str_replace() (0) | 2020.05.27 |
---|---|
[PHP] MySql 연결(DB연동) new mysqli() (0) | 2020.05.13 |
[PHP] 2차원 배열 value 값 기준 정렬 / 배열 정렬 (0) | 2020.05.12 |
[PHP] header location 변경 (+파라미터값 전달) (0) | 2020.05.11 |
[PHP] php 출력 (echo , print_r, var_dump) (0) | 2020.05.11 |