Forum und email

FTP 와 FTPS

PHP 3, PHP 4. PHP 4.3.0이후부터 ftps://

FTP를 통해 기존 파일에 대한 읽기 권한과 새로운 파일의 생성 권한을 허용한다. 서버가 패시브 모드(passive mode) ftp를 지원하지않으면, 접속이 실패할것이다.

읽거나 쓰기 위해 파일을 열수 있다. 그러나 동시에 읽기/쓰기를 할수 없다. 원격 파일이 ftp 서버에 이미 존재하고 그 파일에 쓰기를 시도하려하는데 컨텍스트 옵션 overwrite 를 설정하지 않았다면, 접속이 실패할것이다. 차선책으로 FTP extension을 사용할수 있다.

Note: 덧붙이기 PHP 5.0.0부터 ftp:// URL 래퍼를 통해서 파일을 덧붙일 수 있습니다. 이전 버전에서, ftp://를 통한 파일 덧붙이기는 실패합니다.

PHP 4.3.0부터 ftps://를 지원한다. ftp://와 동일하지만, ftp 서버를 통해 안전한 접속 협상(negotiate)을 시도하려 한다. 서버가 SSL을 지원하지 않으면, 접속은 원래의 인코딩되지 않는 ftp로 되돌아간다.

Note: FTPS는 PHP 4.3.0부터 지원되었다. OpenSSL을 지원하도록 컴파일되어야 한다.

래퍼 요약
속성 PHP 4 PHP 5
allow_url_fopen으로 제한 Yes Yes
읽기 허용 Yes Yes
쓰기 허용 Yes (새 파일만) Yes (새 파일/overwrite 로 기존 파일)
추가 허용 No Yes
동시 읽기/쓰기 허용 No No
stat() 지원 No filesize(), filetype(), file_exists(), is_file(), is_dir() 요소만.
unlink() 지원 No Yes
rename() 지원 No Yes
mkdir() 지원 No Yes
rmdir() 지원 No Yes

컨텍스트 옵션(PHP 5.0.0의)
이름 사용 기본값
overwrite 원격 서버에 이미 존재하는 파일 덮어쓰기를 허용. 쓰기 모드(업로딩)에만 적용. FALSE (Disabled)
resume_pos 전송을 시작할 파일 위치. 읽기 모드(다운로딩)에만 적용. 0 (파일 처음)

Note: 기저(Underlying) 소켓 스트림 컨텍스트 옵션 기저(underlying) 전송ftp:// 스트림을 지원할수 있는 추가 컨텍스트 옵션이며 tcp:// 전송에 대한 컨텍스트 옵션으로 참조된다. ftps:// 스트림에 대해서는 ssl:// 전송에 대한 컨텍스트 옵션으로 참조된다.