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

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

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

您可以使用

get_headers($url)

手册中的示例2

<?php// 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'));// givesArray(    [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。

PHP还提供了变量$
http_response_header

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

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

file_get_contents
来获取内容,然后检查变量中的标题。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5602469.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存