file_get_contents替代函数或方法?

时间:2010-08-18 18:50:28

标签: php

在一台服务器中,出于安全原因,file_get_contents被禁用。我需要检索xml数据。那么,最好的办法是:

  1. 验证服务器是否支持file_get_contents
  2. file_get_contents
  3. 是否有任何替代方法?

2 个答案:

答案 0 :(得分:4)

您可以通过查看ini指令allow_url_fopen来检查您是否可以在file_get_contents()(以及fopen()系列函数)中使用网址:

ini_get('allow_url_fopen'); 

您可以使用以下方法解决这些限制:

  1. cURL
  2. fsockopen()
  3. 我强烈推荐cURL。 fsockopen()更加肮脏。

答案 1 :(得分:2)

http://www.phpbuilder.com/board/showthread.php?t=10349521 - 这似乎是一个相关主题

我会尝试使用简单的fopenfread函数。

第一种方法:

$bufferSize = 1024;
$file = fopen($file,'r');
while($cont = fread($file, $bufferSize)){
 $file_content .= $cont;
}
fclose($file);

var_dump($file_content);

第二种方法:

$filename = "/usr/local/something.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);