我有一个非常奇怪的问题。我正在尝试从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
}
答案 0 :(得分:1)
你应该使用修剪功能:
$html = file_get_contents(trim($ht));
字符串
的开头或末尾可能有一些空格或其他白色字符修改强>
在你的问题中,你告诉我们$ht
是http://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
变量吗?