백엔드 개발 PHP 튜토리얼 PHP判断远程url是否有效的几种方法小结_php技巧

PHP判断远程url是否有效的几种方法小结_php技巧

May 17, 2016 am 09:15 AM
url

解决办法:
使用PHP解决
使用file_get_contents函数,不过优缺点如果url无法访问,会出现终止程序问题
使用curl返回,然后判断是否正确执行
使用get_headers函数,根据HTTP返回值查看是否有200
使用js解决:
使用原生的js函数ActiveXObject,仅支持ie内核的浏览器
使用jq扩展
本文主要介绍PHP解决办法中的第三种,这个方法很少用到,但是感觉又起来还不错,

get_headers需要支持

php_openssl支持 查看phpinfo看看是否开启
allow_url_fopen=on 修改php.ini,运行使用远程打开

函数介绍:
array get_headers ( string $url [, int $format ] )

get_headers() 返回一个数组,包含有服务器响应一个 HTTP 请求所发送的标头。如果失败则返回 FALSE 并发出一条 E_WARNING 级别的错误信息。

如果将可选的 format 参数设为 1,则 get_headers() 会解析相应的信息并设定数组的键名。 例如:

wps_clip_image-4948

简单的例子:
复制代码 代码如下:

$url = "/upload/201110/20111008192257383.gif";
$array = get_headers($url,1);
if(preg_match('/200/',$array[0])){
echo "
로그인 후 복사
";
print_r($array);
}else{
echo "无效url资源!";
}

解释:判断远程图片ur是否有效,根据返回值HTTP中是否有200信息,判断是否是有效url资源

测试结果:

wps_clip_image-5529

可以看到正确返回 -----------------------测试ok

优点缺点:
需要allow_url_fopen=on 开启,有点和file_get_contents函数使用条件类似,但是返回值比较少,可以使用
function_exists判断该方法是否可以使用

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Jul 25, 2023 am 09:05 AM

PHP 기능 소개 - get_headers(): URL의 응답 헤더 정보 얻기 개요: PHP 개발에서는 웹 페이지나 원격 리소스의 응답 헤더 정보를 얻어야 하는 경우가 많습니다. PHP 함수 get_headers()를 사용하면 대상 URL의 응답 헤더 정보를 쉽게 얻고 이를 배열 형식으로 반환할 수 있습니다. 이 기사에서는 get_headers() 함수의 사용법을 소개하고 관련 코드 예제를 제공합니다. get_headers() 함수 사용법: get_header

몇 단계만으로 Steam ID를 얻는 방법은 무엇입니까? 몇 단계만으로 Steam ID를 얻는 방법은 무엇입니까? May 08, 2023 pm 11:43 PM

요즘에는 게임을 좋아하는 많은 Windows 사용자들이 Steam 클라이언트에 접속하여 좋은 게임을 검색하고 다운로드하여 플레이할 수 있습니다. 그러나 많은 사용자의 프로필이 정확히 동일한 이름을 가질 수 있으므로 프로필을 찾거나 Steam 프로필을 다른 제3자 계정에 연결하거나 Steam 포럼에 가입하여 콘텐츠를 공유하기가 어렵습니다. 프로필에는 고유한 17자리 ID가 할당되며, 이는 동일하게 유지되며 사용자가 언제든지 변경할 수 없는 반면, 사용자 이름이나 맞춤 URL은 변경할 수 있습니다. 그럼에도 불구하고 일부 사용자는 자신의 Steamid를 모르므로 이를 아는 것이 중요합니다. 계정의 Steamid를 찾는 방법을 모르더라도 당황하지 마세요. 이 기사에서는

e의 NameResolutionError(self.host, self, e) 이유와 해결 방법 e의 NameResolutionError(self.host, self, e) 이유와 해결 방법 Mar 01, 2024 pm 01:20 PM

오류의 원인은 urllib3 라이브러리의 예외 유형인 NameResolutionError(self.host,self,e)frome입니다. 이 오류의 원인은 DNS 확인에 실패했기 때문입니다. 해결을 찾을 수 없습니다. 이는 입력한 URL 주소가 정확하지 않거나 DNS 서버를 일시적으로 사용할 수 없기 때문에 발생할 수 있습니다. 이 오류를 해결하는 방법 이 오류를 해결하는 방법은 여러 가지가 있습니다. 입력한 URL 주소가 올바른지 확인하고 액세스할 수 있는지 확인하십시오. DNS 서버를 사용할 수 있는지 확인하십시오. 명령줄에서 "ping" 명령을 사용해 볼 수 있습니다. DNS 서버를 사용할 수 있는지 테스트하려면 프록시 뒤에 있는 경우 호스트 이름 대신 IP 주소를 사용하여 웹사이트에 액세스해 보세요.

Java에서 URL 인코딩 및 디코딩을 사용하는 방법 Java에서 URL 인코딩 및 디코딩을 사용하는 방법 May 08, 2023 pm 05:46 PM

url을 사용하여 java.net.URLDecoder.decode(url, 디코딩 형식) 클래스 decoder.decoding 인코딩 및 디코딩 방법을 인코딩 및 디코딩합니다. 일반 문자열로 변환하는 URLEncoder.decode(url, 인코딩 형식)는 일반 문자열을 지정된 형식의 문자열로 변환합니다. packagecom.zixue.springbootmybatis.test;importjava.io.UnsupportedEncodingException;importjava.net.URLDecoder;importjava.net. URL인코더

HTML과 URL의 차이점은 무엇입니까 HTML과 URL의 차이점은 무엇입니까 Mar 06, 2024 pm 03:06 PM

차이점: 1. 정의가 다릅니다. url은 균일한 리소스 위치 지정자이고 html은 하이퍼텍스트 마크업 언어입니다. 2. html에는 여러 개의 URL이 있을 수 있지만 하나의 url에는 단 하나의 html 페이지만 존재할 수 있습니다. 웹 페이지이고 url은 웹 사이트 주소를 나타냅니다.

Scrapy 최적화 팁: 중복 URL 크롤링을 줄이고 효율성을 높이는 방법 Scrapy 최적화 팁: 중복 URL 크롤링을 줄이고 효율성을 높이는 방법 Jun 22, 2023 pm 01:57 PM

Scrapy는 인터넷에서 대량의 데이터를 얻는 데 사용할 수 있는 강력한 Python 크롤러 프레임워크입니다. 그러나 Scrapy를 개발할 때 중복된 URL을 크롤링하는 문제에 자주 직면하게 되는데, 이는 많은 시간과 자원을 낭비하고 효율성에 영향을 미칩니다. 이 기사에서는 중복 URL의 크롤링을 줄이고 Scrapy 크롤러의 효율성을 향상시키는 몇 가지 Scrapy 최적화 기술을 소개합니다. 1. Scrapy 크롤러의 start_urls 및 allowed_domains 속성을 사용하여

SpringBoot 다중 컨트롤러에 URL 접두사를 추가하는 방법 SpringBoot 다중 컨트롤러에 URL 접두사를 추가하는 방법 May 12, 2023 pm 06:37 PM

서문 어떤 경우에는 서비스 컨트롤러의 접두사가 일관됩니다. 예를 들어 모든 URL의 접두사는 /context-path/api/v1이고 일부 URL에는 통합 접두사를 추가해야 합니다. 가능한 해결책은 서비스의 context-path를 수정하고 api/v1을 context-path에 추가하는 것입니다. 전역 접두사를 수정하면 위의 문제를 해결할 수 있지만 URL에 여러 접두사가 있는 경우 단점이 있습니다. URL에는 접두사가 필요합니다. api/v2인 경우 서비스의 일부 정적 리소스에 api/v1을 추가하지 않으려면 구별할 수 없습니다. 다음은 사용자 정의 주석을 사용하여 특정 URL 접두어를 균일하게 추가합니다. 하나,

nginx URL 리디렉션을 구성하는 방법 nginx URL 리디렉션을 구성하는 방법 May 12, 2023 am 10:31 AM

이 문서의 시스템: centos6.5_x64 세 개의 호스트: nginx 호스트, 호스트 이름:master.lansgg.comip:192.168.10.128 아파치 호스트, 호스트 이름:client1.lansgg.comip:192.168.10.129 1. nginx 주소 리디렉션 2. nginx 역방향 프록시 1. 주소 리디렉션: 사용자가 특정 URL을 탐색할 때 다른 URL로 리디렉션하는 기술을 말합니다. 긴 URL을 더 짧은 URL로 변환하는 데 자주 사용됩니다. 왜냐하면 웹사이트를 배포할 때 URL이 너무 길어서 기억하기 어려운 경우가 많거나 인터넷의 무료 웹 공간이 변경되었기 때문일 수도 있기 때문입니다.

See all articles