PHP file_get_contents返回404

时间:2014-07-16 06:57:58

标签: php file-get-contents

我有一个非常奇怪的问题。我正在尝试从3小时到$ ht的输出。当我回显$ ht时,结果为http://www.google.com。没有问题。但是当我使用变量$ ht执行file_get_contents时,没有输出。我已经尝试过curl也没有输出 - 404 ....

foreach ($hashtweet[1] as $ht)
        {

$html = file_get_contents($ht); //NOT WORKING
$html = file_get_contents("http://www.google.com"); // WORKING
echo $html;

//echo $ht;  = CORRECT OUT OF $ht = http://www.google.com

        }       

1 个答案:

答案 0 :(得分:1)

你应该使用修剪功能:

$html = file_get_contents(trim($ht)); 

字符串

的开头或末尾可能有一些空格或其他白色字符

修改

在你的问题中,你告诉我们$hthttp://www.google.com,但在评论中你说的是google.com。如果您想获得http://google.com,则需要添加http://。否则,这意味着您需要名称为google.com

的当前目录文件

<强> EDIT2

所以你应该比较这两个字符串。在循环中添加:

if (trim($ht) == 'http://www.google.com') {
  echo "same strings<br />";
}
else {
  echo "there is difference<br />";
}

确保这些字符串相同或不相同。你告诉你你的$ ht返回string(21) "http://www.gooogle.com"因此它不可能不起作用,因为字符串http://www.gooogle.com字符串正好是21个字符长。在运行file_get_contents之前或在循环内部之后不更改$ht变量吗?