【问题标题】:relative url not working for getheaders相对 url 不适用于 getheaders
【发布时间】:2013-12-31 19:32:02
【问题描述】:

这是这个脚本,它适用于 img src 标记中的绝对 url,但如果 img src 标记具有相对 url,它会失败并给出错误

Warning: get_headers() [function.get-headers]: 这个函数只能用于 在第一个链接中,img src 是相对 url,但在第二个链接中,img src 是绝对 url,它给出了完美的结果,但我希望我的脚本在这两种情况下都能工作有什么想法吗??

<?php
$websitelink = 'http://img172.imagevenue.com/img.php?image=90465_Gwen3_122_17lo.jpg';

//  $websitelink='http://www.santabanta.com/bollywood/76432/whoa-after-200-crore-now-dhoom-3-races-for-rs-300-crore-mark/';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $websitelink);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$resulty = curl_exec($ch);
$doc = new DOMDocument();
@$doc->loadHTML($resulty);
$tags = $doc->getElementsByTagName('img');
foreach ($tags as $tag) {
    $data = get_headers($tag->getAttribute('src'), 1);
    if ((intval($data["Content-Length"])) >= 30720) {
        $op7 = '' . $tag->getAttribute('src') . '';
        echo $op7 . '</br>';
    }
}

【问题讨论】:

  • 由于您是从 PHP 文件加载这些内容,因此它可能是针对该文件而不是 HTML 文档执行的(我的意思是除非它们是同一个文件)。

标签: php get-headers


【解决方案1】:

get_headers 函数实际上会执行HTTP GET 请求,因此它需要一个完全限定的地址,如果只指定一个相对 URL,它就无法工作。

您必须推断出您尝试加载的图像的完整地址。

【讨论】:

  • 我知道,但如何将相对 url 转换为绝对 url 是个问题
猜你喜欢
  • 1970-01-01
  • 2012-08-11
  • 1970-01-01
  • 2019-03-27
  • 2012-06-24
  • 1970-01-01
  • 2011-02-07
  • 2010-10-01
  • 2016-06-24
相关资源
最近更新 更多