php中的否是什么,检查PHP中是否存在URL的最佳方法是什么?

小编典典

您可以使用 get_headers($url)

// By default get_headers uses a GET request to fetch the headers. If you

// want to send a HEAD request instead, you can do so using a stream context:

stream_context_set_default(

array(

'http' => array(

'method' => 'HEAD'

)

)

);

print_r(get_headers('http://example.com'));

// gives

Array

(

[0] => HTTP/1.1 200 OK

[Date] => Sat, 29 May 2004 12:28:14 GMT

[Server] => Apache/1.3.27 (Unix) (Red-Hat/Linux)

[Last-Modified] => Wed, 08 Jan 2003 23:11:55 GMT

[ETag] => "3f80f-1b6-3e1cb03b"

[Accept-Ranges] => bytes

[Content-Length] => 438

[Connection] => close

[Content-Type] => text/html

)

第一个数组元素将包含HTTP响应状态代码。您必须解析它。

请注意,get_headers示例中的函数将发出HTTP HEAD请求,这意味着它将不会获取URL的正文。这比使用GET请求(也将返回正文)更有效。

还要注意,通过设置 默认 上下文,任何使用http流上下文的后续调用现在都将发出HEAD请求。因此,确保完成后将默认上下文重置为再次使用GET。

该$http_response_header数组类似于该get_headers()函数。使用HTTP包装器时,$http_response_header将使用HTTP响应标头填充。$http_response_header将在本地范围内创建。

如果要下载远程资源的内容,则不需要执行两个请求(一个请求查看资源是否存在,另一个请求获取该资源),而不仅仅是一个。在这种情况下,请使用类似的方法file_get_contents来获取内容,然后检查变量中的标题。

2020-05-26

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值