Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检索web内容的函数/命令(除了从wget或file\u get\u内容)_Php_Http - Fatal编程技术网

Php 检索web内容的函数/命令(除了从wget或file\u get\u内容)

Php 检索web内容的函数/命令(除了从wget或file\u get\u内容),php,http,Php,Http,我需要检索web内容。我通常使用wget,但这次它给了我一个“内部服务器错误”。我还尝试使用file_get_contents(),当我使用安装在Mac中的MAMP时,它可以工作,但当我在服务器上运行它时,它什么也不做,也不会打印错误消息。还有别的办法吗?下面是我使用的代码 <?php echo "Retrieving Traffic Updates"; $source = file_get_contents('http://www4.honolulu.gov/hpdtraffic/Mai

我需要检索web内容。我通常使用wget,但这次它给了我一个“内部服务器错误”。我还尝试使用file_get_contents(),当我使用安装在Mac中的MAMP时,它可以工作,但当我在服务器上运行它时,它什么也不做,也不会打印错误消息。还有别的办法吗?下面是我使用的代码

<?php
echo "Retrieving Traffic Updates";
$source = file_get_contents('http://www4.honolulu.gov/hpdtraffic/MainPrograms/frmMain.asp?sSearch=All+Incidents&sSort=I_tTimeCreate');
echo $source;
?>

提前谢谢


我不知道如何回复你们所有人,所以我只是把它添加到这里。CURL工作得很好。谢谢大家。
我只是想问一下,为什么即使在php.ini中启用了file_get_contents()也无法工作

我猜您没有启用
fopen
包装器。要进行测试,请执行以下操作:

var_dump(ini_get('allow_url_fopen'));
如果返回
false
(或
0
,不记得是哪个),则不能使用
file\u get\u contents
打开远程文件


如果安装了,您可以使用它访问远程文件。

允许url\u fopen
可能会被您的web主机关闭。你应该看看这是否可以打开。如果没有,可能仍然可用,因此您应该尝试使用该选项。

如果您可以使用cURL,请使用该选项。您可以通过执行
phpinfo()来确定是否安装了cURL。有关cURL的更多信息:

请参考使用PHP的cURL实现获取位于给定URL的内容的示例

我相信您会发现这个过程相当简单。

您可以使用:



$html=curl(“http://www4.honolulu.gov/hpdtraffic/MainPrograms/frmMain.asp?sSearch=All+事件&sSort=I_tTimeCreate”)

第4行用句号代替分号。这是您的确切代码示例吗?我运行了代码,它返回:string(1)“1”。我猜它是启用的,但如果它对我有用的话,我会试试curl。谢谢
<?php 
echo "Retrieving Traffic Updates";
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "http://www4.honolulu.gov/hpdtraffic/MainPrograms/frmMain.asp?sSearch=All+Incidents&sSort=I_tTimeCreate"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$source = curl_exec($ch); 
curl_close($ch);      
echo $source
?>
function curl($url){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    return curl_exec($ch);
    curl_close ($ch);
}