>백엔드 개발 >PHP 튜토리얼 >Microsoft Office Professional PHP에 원격 파일이 존재하는지 확인하기 위해 컬을 사용하는 구현 코드

Microsoft Office Professional PHP에 원격 파일이 존재하는지 확인하기 위해 컬을 사용하는 구현 코드

WBOY
WBOY원래의
2016-07-29 08:46:561252검색

코드 복사 코드는 다음과 같습니다.


//원격 파일 판단
function check_remote_file_exists($url)
{ $found = false
// 요청이 전송되지 않고 실패하는 경우
if ($result !== false) {
// http 응답 코드가 200
$statusCode = 컬_getinfo($curl, CURLINFO_HTTP_CODE);
if ($statusCode == 200) {
$found = true
}
curl_close($curl );
return $found;
}


최근 HTML5 음악 재생을 위한 웹사이트 작업을 하고 있습니다. 프론트엔드에서 jplayer를 사용하고 싶습니다. , jquery 플러그인을 수정한 후 효과가 꽤 좋습니다.
백그라운드는 PHP를 사용하여 Baidu MP3를 정기적으로 수집합니다. 서버 공간이 부족한 점을 고려하면 당연히 MP3 주소만 수집할 수 있고 파일은 로컬로 다운로드되지 않습니다. 바이두 MP3 경로가 자주 바뀌는 것을 생각하면 정말 짜증나는 일이기 때문에 정기적으로 MP3 경로가 올바른지 판단하는 것이 필요하기 때문에 원격 파일이 존재하는지 판단하는 PHP에 대한 소프트 글이 있습니다. get_headers() 메소드를 사용하기 시작했는데 나중에 효율성 문제가 있다는 말을 듣고 이 솔루션을 사용하지 않았습니다. 그런데, get_headers 함수의 효과를 살펴보겠습니다.


코드 복사

코드는 다음과 같습니다.

//기본 효과print_r(get_headers("http://www.baidu .com/img/baidu_sylogo1.gif")); 결과: 배열

(

[0] => HTTP/1.1 200 OK
[1] => 날짜: 2011년 6월 2일 목요일 02:47:27 GMT
[2] => 서버: Apache
[3] => CP=" OTI DSP COR IVA OUR IND COM "
[4 ] => 쿠키 설정: BAIDUID=7F6A5A2ED03878A7791C89C526966F3A:FG =1; 만료=6월 1일 금요일 02:47:27 GMT; =1
[5] => 최종 수정: 2011년 1월 20일 목요일 07:15:35 GMT
[6] => ETag: "65e-49a41e65933c0"
[7] => ; 허용 범위: 바이트
[8] = > 콘텐츠 길이: 1630
[9] => 캐시 제어: max-age=315360000
[10] => , 2021년 5월 30일 02:47:27 GMT
[11] => 연결: 닫기
[12] => Content-Type: image/gif
)
//효과 매개변수 1 추가
print_r(get_headers("http:/ /www.baidu.com/img/baidu_sylogo1.gif", 1))
결과:
배열
(
[0 ] => HTTP/1.1 200 OK
[날짜 ] => 2011년 6월 2일 목요일 02:49:28 GMT
[서버] => Apache
[P3P] => " OTI DSP COR IVA OUR IND COM "
[Set -Cookie] => BAIDUID=4D875812FC482C0ADE4F5C17068849EE:FG=1; 만료=6월 1일 금요일 02:49:28 GMT; 경로=/; domain=.baidu.com; 버전=1
[최종 수정] => 2011년 1월 20일 목요일 07:15:35 GMT
[ETag] => "65e-49a41e65933c0"
[Accept-Ranges] => 바이트
[Content-Length] => 1630
[Cache-Control] => max-age=315360000
[만료] => 2021 02:49:28 GMT
[ Connection] => 닫기
[Content-Type] => image/gif
)


get_headers 기능은 어떻습니까? 그래도 좋은데 효율성에 문제가 있으니 어쩔 수 없이 우선시할 수밖에 없군요. 컬이 좋으니 컬이 어떻게 되는지 살펴보겠습니다



복사 code


코드는 다음과 같습니다.

function check_remote_file_exists($url) { $curl =curl_init($url)//Do 데이터를 검색하지 않음

curl_setopt($curl, CURLOPT_NOBODY, true);

curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET'); //추가하지 않으면 403이 반환됩니다. , 정확한 200이 반환됩니다.
//요청 보내기
$result =curl_exec($curl);
$found = false
//요청이 전송되지 않은 경우;
if ($result !== false)
{
// http 응답 코드가 200인지 다시 확인하세요.
$statusCode = cur_getinfo( $curl, CURLINFO_HTTP_CODE)
if ($statusCode == 200)
{
$found = true
}
}
curl_close($curl)
return $found; $exists = check_remote_file_exists('http://www.baidu.com/img/baidu_sylogo1.gif');
echo $exists ? '존재하지 않습니다':
$exists = check_remote_file_exists(' http://www.baidu.com/test.jpg');
echo $exists ? '존재함' : '존재하지 않음';
위 내용은 Microsoft Office Professional의 내용을 포함하여 Microsoft Office Professional PHP에 원격 파일이 존재하는지 확인하기 위해 컬을 사용하는 구현 코드를 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.