개요
PHP에서 제공하는 ftp://와 ftps:// 스트림 래퍼(wrapper)는 FTP(및 FTPS) 프로토콜을 사용하는 URL에 대한 읽기 접근을 가능하게 합니다. 또한 이 래퍼들을 통해 새로운 파일을 생성할 수도 있습니다. 단, 서버 측에서 패시브 모드(passive mode) FTP를 지원하지 않는 경우 연결은 실패하게 됩니다.
FTP 프로토콜을 사용하는 스트림에서는 읽기와 쓰기를 동시에 수행하는 것이 허용되지 않습니다. 만약 기존 파일을 덮어쓰기(overwrite)해야 하는 상황이라면, 컨텍스트 옵션(context options)에 overwrite 옵션을 지정하여 처리할 수 있습니다.
php.ini 설정과 관련 확장
php.ini 파일에는 인증되지 않은(익명) FTP 연결 시 사용될 이메일 주소를 지정하는 from 설정이 있습니다. 이 값이 설정되어 있으면 익명 FTP 접속 시 비밀번호로 사용됩니다. 또한 PHP의 FTP 확장(extension)을 활용하면 더욱 다양한 방식으로 FTP에 접근할 수 있습니다.
ftps:// 래퍼는 php.ini에서 openssl 확장이 활성화된 경우에만 사용할 수 있습니다. 서버가 SSL을 지원하지 않으면 연결은 자동으로 암호화되지 않은 일반 모드로 전환됩니다.
사용 예시
ftp://example.com/pub/test.txt ftps://user:password@example.com/pub/test.txt
위 예시처럼 기본 형태로 호스트와 경로를 지정하거나, 사용자 이름과 비밀번호를 포함한 URL 형식으로 인증 정보를 함께 전달할 수 있습니다.