Php 是否可以只发送http请求以获取上次修改的时间?
而不是文件本身 编辑Php 是否可以只发送http请求以获取上次修改的时间?,php,http,request,Php,Http,Request,而不是文件本身 编辑 用PHP演示最好?您需要编写一些服务来处理http请求,提取请求文件的上次修改日期并返回响应日期。您需要编写一些服务来处理http请求,提取请求文件的上次修改日期并返回响应日期。中您的HTTP请求应该添加其中任何一个,您可能会收到304(上次修改) 如果修改自 如果没有匹配 如果未修改自 安德烈是正确的,海德只会得到头球。如果满足条件,我的建议只返回页眉,不返回正文。如果内容已更新,则正文将包含新信息 在HTTP请求中,您应该添加其中任何一个,您可能会收到304(上次修改)
用PHP演示最好?您需要编写一些服务来处理http请求,提取请求文件的上次修改日期并返回响应日期。您需要编写一些服务来处理http请求,提取请求文件的上次修改日期并返回响应日期。中您的HTTP请求应该添加其中任何一个,您可能会收到304(上次修改)
安德烈是正确的,海德只会得到头球。如果满足条件,我的建议只返回页眉,不返回正文。如果内容已更新,则正文将包含新信息 在HTTP请求中,您应该添加其中任何一个,您可能会收到304(上次修改)
<?php
// Get Headers
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://example.com/');
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$response = curl_exec($ch);
// Process Headers
$headerLines = explode("\r\n", $response);
foreach ($headerLines as $headerLine) {
$headerLineParts = explode(': ', $headerLine);
if (count($headerLineParts) >= 2) {
$headers[$headerLineParts[0]] = $headerLineParts[1];
}
}
echo $headers['Last-Modified'];
?>
您可以使用php的get\u headers函数
$a = get_headers('http://sstatic.net/so/img/logo.png');
print_r($a);
您可以使用php的get_headers函数
$a = get_headers('http://sstatic.net/so/img/logo.png');
print_r($a);
我试图用它来做一些不同的事情,遇到了许多服务器没有响应HEAD方法,并将其视为GET。只是一个警告。@Kenny:我怀疑这是为了防止仅针对标头信息的DDOS攻击。我尝试将其用于其他用途,但遇到许多服务器没有响应HEAD方法,并将其视为GET。只是一个警告。@Kenny:我怀疑这是为了防止DDOS攻击仅针对标头信息。CURLOPT_这里没有人是关键部分,因为它将方法设置为HEAD而不是GET。否则,您仍将获得完整的文件,并将其扔进位存储桶(aka:/dev/null)No。。。CURLOPT_HEADER的意思是“包含标题”,而CURLOPT_NOBODY的意思是“不包含主体”。如果你真的想要标题,那么两者都需要。对于speed.CURLOPT_,这里没有人是关键,因为它将方法设置为HEAD而不是GET。否则,您仍将获得完整的文件,并将其扔进位存储桶(aka:/dev/null)No。。。CURLOPT_HEADER的意思是“包含标题”,而CURLOPT_NOBODY的意思是“不包含主体”。如果你真的只是想要标题,那么你需要两者,以提高速度。如果-Modified-Since和将来(明年)的日期都会阻止你在回复中获得文件。当您检查的文件较大时,这可能非常关键,即:>100MB如果Web服务器将来位于何处?:P说正经的:那太棒了。如果修改了,那么在未来(明年)的某个日期应该会阻止你收到回复中的文件。当您检查的文件较大时,这可能非常关键,即:>100MB如果Web服务器将来位于何处?:P说真的:那太棒了。