FTP 와 FTPS
PHP 3, PHP 4. PHP 4.3.0이후부터 ftps://
- ftp://example.com/pub/file.txt
- ftp://user:password@example.com/pub/file.txt
- ftps://example.com/pub/file.txt
- ftps://user:password@example.com/pub/file.txt
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 |
이름 | 사용 | 기본값 |
---|---|---|
overwrite | 원격 서버에 이미 존재하는 파일 덮어쓰기를 허용. 쓰기 모드(업로딩)에만 적용. | FALSE (Disabled) |
resume_pos | 전송을 시작할 파일 위치. 읽기 모드(다운로딩)에만 적용. | 0 (파일 처음) |
Note: 기저(Underlying) 소켓 스트림 컨텍스트 옵션 기저(underlying) 전송에 ftp:// 스트림을 지원할수 있는 추가 컨텍스트 옵션이며 tcp:// 전송에 대한 컨텍스트 옵션으로 참조된다. ftps:// 스트림에 대해서는 ssl:// 전송에 대한 컨텍스트 옵션으로 참조된다.