file_exists는 원격 파일 존재 여부를 확인할 수 없다는 것을 알고 있었는데 원격 파일 존재 여부를 확인하는 방법을 모르겠습니다.
오늘 PHP 정보 연구 센터 블로그를 보다가 함수를 발견했습니다. get_headers
원본 텍스트는 여기:
원격 파일이 있는지 확인하는 방법
http://www.xqs.cn/index.php?load=read&id=95
get_headers(PHP5) — 서버 응답 가져오기 HTTP 요청에 의해 전송된 모든 헤더
get_headers() HTTP 요청에 대한 응답으로 서버에서 보낸 헤더가 포함된 배열을 반환합니다. 실패하면 FALSE를 반환하고 E_WARNING 수준 오류 메시지를 발행합니다.
선택적 형식 매개변수가 1로 설정된 경우 get_headers()는 해당 정보를 구문 분석하고 배열의 키 이름을 설정합니다.
다음과 같은 반환
Array(
[0] => HTTP/1.1 200 OK
[Date] => 2004년 5월 29일 토요일 12:28:14 GMT
[서버] => Apache/1.3.27(Unix)(Red-Hat/Linux)
[최종 수정] => 2003년 1월 8일 수요일 23:11:55 GMT
[ETag] = > "3f80f-1b6-3e1cb03b"
[Accept-Ranges] => 바이트
[Content-Length] => 438
[Connection] => 닫기
[Content-Type] => 텍스트 / html
)
원저자가 배열을 반환할지 여부를 판단하는 것은 적절하지 않다고 생각합니다
http 파일 상태가 200이 아니라 다른 것일 수도 있기 때문입니다
테스트해 봤기 때문에 제 홈페이지에 실제로 존재하지 않는 것을 살펴보겠습니다. 반환된 페이지 상태는 404이고 존재하지 않아야 하는데, 원저자의 함수는 여전히 true를 반환합니다
사실 , 반환된 페이지 상태를 기준으로 판단해야 합니다