<?php
// create a new cURL resource with the url
$ch = curl_init( "http://www.example.com/" );
// This changes the request method to HEAD
curl_setopt($ch, CURLOPT_NOBODY, true);
// Execute curl with the configured options
curl_exec($ch);
// Edit: Fetch the HTTP-code (cred: @GZipp)
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
// To print the response code:
print( $code);
// To check the size/length:
$length = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
// To print the content_length:
print( "<br>\n $length bytes");
// close cURL resource, and free up system resources
curl_close($ch);
6条答案
按热度按时间ajsxfq5m1#
您可以使用cURL轻松完成此操作:
字符串
rggaifut2#
作为curl的替代方案,你可以使用http上下文选项将请求方法设置为
HEAD
,然后使用这些选项打开一个(http Package 器)流并获取Meta数据。字符串
另见:
http://docs.php.net/stream_get_meta_data
http://docs.php.net/context.http的
svujldwt3#
甚至比curl更简单-只需使用PHP
get_headers()
函数,该函数返回您指定的任何URL的所有头信息的数组。另一个真实的检查远程文件存在的简单方法是使用fopen()
并尝试以读取模式打开URL(您需要为此启用allow_url_fopen)。只要看看PHP手册中的这些函数,它都在那里。
8ljdwjyq4#
我推荐使用Guzzle Client,它基于CURL库,但更简单和优化。
安装:
字符串
以您的案例为例:
型
又快又简单。
Read more here的
j2cgzkjk5#
梨好像有:
http://pear.php.net/manual/en/package.http.http.head.php
lfapxunr6#
作为对PHP的补充,也许有人来这里寻找在浏览器中使用seeHEAD动词的方法,Ajax也允许你像GET和POST一样使用它。
这个信息最好的部分是Ajax允许我们在浏览器检查器(网络选项卡)中看到正在执行的实际方法HEAD。PHP Curl运行在服务器端,所以,浏览器检查器将只显示php文件的GET,而不是curl HEAD操作。这是针对Ajax的:
字符串
同样,当“readystatechanges”
型
要检索像“Content-Length”这样的头属性,在获得状态200之后,在同一代码块中,您可以使用以下命令检索这些属性:
型