강의 컨설팅 트레이닝 무료진단 무료책자 마케팅편지 마케팅정보공유 다이어리 서비스제휴 고객센터

PHP로 FTP프로그램 만들기 알고리즘
작성자 : 13 김영철
등록날짜 : 2009.01.13 13:23
3,241
-- 본 강좌는 '오렌지블루의 PHP4' 중의 일부입니다. 허락없이 무단 전제 및 발췌는 저작권법에 저촉됩을 알려드립니다. --

리눅스의 환경에서는 PHP를 소스 컴파일 하는 과정중에 "./configure" 할 때 옵션에 "--enable-ftp" 을 추가하여 configure를 해야 합니다. 그렇지 않은 경우에는 PHP로 FTP프로그램을 사용할 수 없습니다. 윈도우용 APM의 경우에는 계정과 비번이 존재하지 않으므로 사용하실 수 없습니다.


-------- FTP함수의 종류와 사용법

(1) ftp_connect : FTP서버에 연결한다.
-----------------------------------------------
int ftp_connect (string host [, int port])
$ftp=ftp_connect("서버주소 또는 도메인명",21);
-----------------------------------------------

(2) ftp_login : 계정과 패스워드로 서버에 접근한다.
-----------------------------------------------
int ftp_login (int ftp_stream, string username, string password)
$ftplogin = ftp_login($ftp, "$ftp_user_name", "$ftp_user_pass");
-----------------------------------------------

(3) ftp_pwd : 현재 디렉토리 값을 리턴한다.
-----------------------------------------------
int ftp_pwd (int ftp_stream)
$ftp_dir = $ftp_pwd($ftp);
-----------------------------------------------

(4) ftp_cdup : 가장 상위 디렉토리로 이동
-----------------------------------------------
int ftp_cdup (int ftp_stream)
$ftp_dir = $ftp_cdup($ftp);
-----------------------------------------------

(5) ftp_chdir : FTP 디렉토리의 변경
-----------------------------------------------
int ftp_chdir (int ftp_stream, string directory)
$chdir=ftp_chdir ($ftp, $ftp_dir);
-----------------------------------------------

(6) ftp_mkdir : 디렉토리를 만들고 만든 디렉토리명을 반환한다.
-----------------------------------------------
string ftp_mkdir (int ftp_stream, string directory)
$mkdir = ($ftp,"만들 디렉토리명");
-----------------------------------------------

(7) ftp_rmdir : 디렉토리를 삭제한다.
-----------------------------------------------
int ftp_rmdir (int ftp_stream, string directory)
$mkdir = ($ftp,"삭제할 디렉토리명");
-----------------------------------------------

(8) ftp_nlist : 디렉토리의 파일이름을 배열로 반환한다.
-----------------------------------------------
int ftp_nlist (int ftp_stream, string directory)
$contents = ftp_nlist( $ftp, "디렉토리명");
-----------------------------------------------

(9) ftp_rawlist : 디렉토리의 파일이름과 읽고 쓰고 실행할 권한을 파일 당 한 줄의 배열로 반환한다.
-----------------------------------------------
int ftp_rawlist (int ftp_stream, string directory)
$contents = ftp_nlist( $ftp, "디렉토리명");
-----------------------------------------------

(10) ftp_systype : FTP서버의 타입을 리턴하는데 리눅스는 UNIX로 표시해준다.
-----------------------------------------------
int ftp_systype (int ftp_stream)
echo ftp_systype($ftp);
-----------------------------------------------

(11) ftp_get : FTP로부터 파일을 다운로드 받는다.
-----------------------------------------------
int ftp_get (int ftp_stream, string local_file, string remote_file, int mode)
$download = ftp_get($ftp, "저장할 파일명", "다운받을 파일명","FTP_ASCII or FTP_BINARY");
-----------------------------------------------

.pl 또는 .cgi 같은 Perl CGI인 경우에는 FTP_ASCII로 다운 받고 다른 파일은 FTP_BINARY로 다운 받아야 한다.

(12) ftp_fget : FTP로부터 파일 포인터를 다운받는다.
-----------------------------------------------
int ftp_fget (int ftp_stream, int fp, string remote_file, int mode)
$download = ftp_fget($ftp, "저장할 파일명", "다운받을 파일명","FTP_ASCII or FTP_BINARY");
-----------------------------------------------

(13) ftp_put : FTP서버에 파일을 업로드 한다.
-----------------------------------------------
int ftp_put (int ftp_stream, string remote_file, string local_file, int mode)
$upload = ftp_put($ftp, "업로드할 파일명", "업로드될 파일명","FTP_ASCII or FTP_BINARY");
-----------------------------------------------

(14) ftp_fput : FTP서버에 파일 포인터를 업로드한다.
-----------------------------------------------
int ftp_fput (int ftp_stream, string remote_file, string local_file, int mode)
$upload = ftp_fput($ftp, "업로드할 파일명", "업로드될 파일명","FTP_ASCII or FTP_BINARY");
-----------------------------------------------

(15) ftp_size : 파일의 사이즈를 구한다.
-----------------------------------------------
int ftp_size (int ftp_stream, string remote_file)
$filesize = ftp_size( $ftp, $contents[$i] );
-----------------------------------------------
ftp_nlist 나 ftp_rawlist에 의해 구한 파일명에 대한 배열값인 $contents[$i]에는 각 파일명과 속성이 저장되어지는데 이 파일명을 사이즈로 구하면 파일이면 사이즈가 리턴되고 디렉토리이면 -1이 리턴된다.

(16) ftp_mdtm : 파일의 마지막 수정시간을 timestamp 값으로 리턴한다.
-----------------------------------------------
int ftp_mdtm (int ftp_stream, string remote_file)
$filemdth = ftp_size( $ftp, "파읾명");
-----------------------------------------------

(17) ftp_rename : 파일명을 변경한다.
-----------------------------------------------
int ftp_rename (int ftp_stream, string from, string to)
$rename = ftp_rename( $ftp, "바꿀 파일명", "바뀐 후 파일명");
-----------------------------------------------

(18) ftp_delete : 해당 파일을 삭제한다.
-----------------------------------------------
int ftp_delete (int ftp_stream, string path)
$delfile = ftp_delete($ftp, "지울 파일명");
-----------------------------------------------

(19) ftp_site : FTP에 사용 가능한 명령어를 실행한다.
-----------------------------------------------
int ftp_site (int ftp_stream, string cmd)
$chmod=ftp_site ($ftp,"chmod 777 파일명");
-----------------------------------------------

CHMOD와 같은 site 명령어를 실행한다.

(20) ftp_quit : 연결된 FTP의 접속을 끊는다.
-----------------------------------------------
int ftp_quit (int ftp_stream)
ftp_quit ($ftp);
-----------------------------------------------

------ FTP를 이용하여 접속하는 예제
<?
$ftp = @ftp_connect("koreaphp.co.kr");
$ftplogin = @ftp_login($ftp, "계정명", "비번");
if ((!$ftplogin) or (!$ftp)) {
echo "Ftp 연결이 실패하였습니다.";
echo "ftpserver에 ftp 계정 비밀번호를 확인한 후에 다시 접속해보시기 바랍니다.";
exit;
} else {
$ftp_dir=ftp_pwd($ftp);
$ftp_dir=$ftp_dir . "public_html";
echo "서버 : koreaphp.co.kr 계정명 : test 접속성공하였습니다. <br>";
echo "현재 디렉토리의 절대경로는 $ftp_dir 입니다. <br>";
}
?>

[출처] 웹디황용

"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기,
각종 광고, 영업, 판매, 제안서, 전단지
반응율 3배×10배 이상 높이는 마법의 8단계 공식"
자세히보기

Comments

번호 제목 글쓴이 날짜 조회
2985 리눅스의 각종 데몬들 13 김영철 01.29 3255
2984 POST , GET 으로 변수 전달 안될때 13 김영철 01.14 3254
2983 ▒엑셀파일을 ms-sql DB테이블로 전환하기 13 김영철 01.24 3252
2982 text, ntext 또는 image 데이터 형식은 DISTINCT로 선택할 수 없습니다. 13 김영철 01.24 3250
2981 태그를 이용한 인쇄시 페이지 분할 99 단국강토 02.03 3248
2980 알아두면 편리한 포토샵 Tip (좀 낮은 버전이네염 ㅎ) 10 액션쟁이 01.12 3243
열람중 PHP로 FTP프로그램 만들기 알고리즘 13 김영철 01.13 3242
2978 Windows 2003 Server 설치 및 최적화 팁 모음 M 최고의하루 12.04 3242
2977 Window 2003 Server에서 IIS6.0 설치 M 최고의하루 12.23 3241
2976 [ Sybase ] Sybase 기본 명령어 M 최고의하루 12.18 3238
2975 vi 명령어 2 13 김영철 01.29 3236
2974 [펌] [일러스트]일러스트Tip - 일러스트 단축키 모음 2 10 액션쟁이 12.29 3233
2973 MySQL root 계정 외부 접속하기 13 김영철 01.29 3233
2972 -1000 까지 누락된 숫자 구하기 13 김영철 01.14 3233
2971 동영상 그림크기조절 99 단국강토 12.30 3232
2970 아이프레임 일부기능 대체할 수 있는 박스 99 단국강토 02.09 3231
2969 간단한 리룩스명령어 13 김영철 01.13 3231
2968 윈도우 환경에서의 Mysql5 설치 및 설정방법 13 김영철 01.29 3231
2967 익스플로러 주소창에 아이콘 표시하기 간단합니다. 99 단국강토 01.06 3230
2966 MySQL-Front 3.2 설치 M 최고의하루 12.19 3230
2965 [php]Smarty QuickStart Guide 13 김영철 01.14 3228
2964 [펌] 제16강 - 방명록 만들기 V M 최고의하루 12.19 3228
2963 윈도우xp최적설정 M 최고의하루 12.18 3227
2962 인터넷 동영상 저장하기 - 넷트랜스포터 사용 - M 최고의하루 01.12 3226
2961 1-28.[음악] 음악 불러오기 - ④ 음악주소 찾기 근본적 문제 99 단국강토 02.19 3224
2960 리눅스의 부팅 디스켓을 어떻게 만드나요? 99 단국강토 01.02 3223
2959 MS-SQL SERVER 2000 개론 [강력추천] 13 김영철 01.23 3222
2958 [AJAX] 한글지원문제 해결방법 13 김영철 01.29 3221
2957 고스트에서 USB외장하드 USB2.0으로 사용하기 13 김영철 01.29 3220
2956 유니코드 사용하기 13 김영철 01.29 3219
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취