2012-07-26 102 views
0

我有一个奇怪的情况,file_get_contents。我使用file_get_contents()从该URL获取文件的内容。file_get_contents使用直接输入的网址,而不是自动获得的网址

类似:

$url = $result_from_webservice->url; 

if(file_get_contents($url)){ 
    echo 'ok'; 
} 
else{ 
    echo 'error'; 
} 

的代码whas “错误” 该费用相加的结果。

所以我试图直接设置$ url var。我有显示URL结果

echo $result_from_webservice->url; 

从巫婆我掌握的网址,如: https://site.com/page.php?foo1=bar1&foo2=bar2

,然后我用的直接后果,如:

$url = 'https://site.com/page.php?foo1=bar1&foo2=bar2'; 

和惊喜..这工作(结果=“好”)。

然后我尝试应用urldecode,认为我的智能浏览器试图平滑页面内容。

$url = $result_from_webservice->url; 
    $url = urldecode($url); 

但没有成功。

我已经允许php打印所有错误,没有错误,没有警告,没有通知。

有人对这里发生了什么有一个想法,我该如何解决它?

回答

0

尝试使用它之前的URL转换为字符串:

$url = (string)$result_from_webservice->url; 
+0

感谢您的快速反应。 我试过你的解决方案,但仍然不起作用 – stef 2012-07-26 08:27:03

+0

@stef,如果你执行'var_dump($ result_from_webservice-> url)',它会显示什么? – 2012-07-26 08:28:57

+0

string(126)“https://site.com/page.php ...” – stef 2012-07-26 08:31:42

相关问题