예를 들어 이러한 파일이 있는지 알고 싶습니다.특정 리소스가 있는지 어떻게 알 수 있습니까?
http://www.stackoverflow.com/favicon.ico
http://www.stackoverflow.com/reset.css
그런 다음 다운로드하십시오 (명백하게 exixts 인 경우).
예를 들어 이러한 파일이 있는지 알고 싶습니다.특정 리소스가 있는지 어떻게 알 수 있습니까?
http://www.stackoverflow.com/favicon.ico
http://www.stackoverflow.com/reset.css
그런 다음 다운로드하십시오 (명백하게 exixts 인 경우).
<?php
if(($file = file_get_contents('http://www.stackoverflow.com/favicon.ico'))) {
echo "file exists.";
file_put_contents('favicon.ico', $file);
}
else {
echo "File does not exist.";
}
+1 원 노트 : 요청이 실패하면'file_get_contents()'는 E_WARNING 오류를 생성합니다. 이는 반환 유형별로 오류를 catch하려는 의도이므로 오류 억제 연산자를 사용할 수있는 경우 중 하나 일 수 있습니다. –
@MikeB fair. –
이 시도 :이 도움이
<?php
$ch = curl_init();
$url = 'YOUR_URL_HERE'; // the url you want to check
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER[ 'HTTP_USER_AGENT' ]);
// make "HEAD" request
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
$res = curl_exec($ch);
$res = explode(' ', substr($res, 0, strpos($res, "\n")));
// if 404, file does not exist
if($res[ 1 ] != 404) {
$file = file_get_contents($url);
} else {
// This url does not exist
$file = '';
}
curl_close($ch);
?>
희망을.
다운로드를 시도하고 실패하면 그들은 존재하지 않습니까? – JJJ
파일이 없으면 404 응답을받습니다. 그것을 확인하십시오. – binarious
첫 번째로 떠오르는 것은 cURL NOBODY가 헤더를 가져 오도록 요청하는 것입니다. 그 시점에 헤더가 존재한다는 것을 알게되면 전체 리소스를 요청할 수 있습니다. 그러나 어쨌든 모든 것을 다운로드한다면'file_get_contents()'를 사용하고 결과를 검사 할 수도 있습니다. –