PHP를 사용하면 사용자는 브라우저를 통해 서버 측 파일에 액세스할 수 있을 뿐만 아니라 HTTP 또는 FTP와 같은 프로토콜을 통해 다른 서버의 파일에 액세스할 수도 있습니다. 파일 이름을 매개변수로 요구하는 대부분의 기능에서 HTTP 및 FTP URL을 사용할 수 있습니다. . 파일 이름을 바꾸려면 . fopen() 함수를 사용하여 지정된 파일 이름과 리소스를 스트림에 바인딩합니다. 파일 이름이 "scheme://..." 형식인 경우 URL로 처리되며 PHP는 해당 파일을 검색합니다. 이 모드를 처리하기 위한 프로토콜 프로세서(캡슐화 프로토콜이라고도 함)
원격으로 파일에 액세스해야 하는 경우 PHP 구성 파일에서 "allow_url_fopen" 옵션을 활성화하여 fopen() 함수를 사용하여 원격 파일을 열어야 합니다. 또한 다른 서버의 파일에 액세스 권한이 있는지 확인해야 합니다. HTTP 프로토콜을 사용하여 원격 파일에 연결하는 경우 해당 파일은 "읽기 전용" 모드로만 열 수 있습니다. 액세스해야 하는 원격 FTP 서버에 제공된 사용자에 대해 "쓰기 가능 권한"이 활성화된 경우 FTP 프로토콜을 사용하여 원격 파일에 연결할 때 "쓰기 전용" 또는 "읽기 전용" 모드를 사용할 수 있습니다. 하지만 "읽기 및 쓰기 가능" 모드는 사용할 수 없습니다.
PHP를 사용하여 원격 파일에 액세스하는 것은 동일한 읽기 및 쓰기 기능을 사용하여 로컬 파일에 액세스하는 것과 같습니다. 예를 들어, 다음 예제를 사용하여 원격 웹 서버에서 파일을 열고, 필요한 출력 데이터를 구문 분석한 다음, 이 데이터를 데이터베이스 검색에 사용하거나, 웹 사이트 콘텐츠의 나머지 부분과 스타일이 일치하도록 간단히 출력할 수 있습니다. 코드는 다음과 같습니다.
적법한 접근 권한이 있는 경우 사용자로 FTP 서버에 연결하여 FTP 서버의 파일에 쓸 수 있습니다. 이 기술을 사용하여 원격 로그 파일 및 기타 작업을 저장할 수 있지만 이 방법을 사용하여 기존 파일을 덮어쓰려고 하면 fopen() 함수 호출이 실패합니다. 그리고 익명이 아닌 사용자 이름으로 서버에 연결해야 하며 "ftp://user:password@ftp.lampbrother.net/path/to"와 같이 사용자 이름(또는 비밀번호까지)을 지정해야 합니다. /파일". 코드는 다음과 같습니다.
원격 호스트 접속 시 타임아웃 오류를 방지하기 위해 set_time_limit() 함수를 사용하여 프로그램 실행 시간을 제한할 수 있습니다.