Php 文件\u获取\u内容替代函数或方法?

Php 文件\u获取\u内容替代函数或方法?,php,Php,在服务器中,出于安全原因,file\u get\u contents被禁用。我需要检索xml数据。那么,最好的做法是: 验证服务器是否支持file\u get\u contents 是否有文件获取内容的替代方法 通过检查ini指令,您可以检查是否可以使用文件中的url\u get\u contents()(以及fopen()函数系列): 您可以通过以下方式绕过这些限制: 我强烈推荐卷发fsockopen()更脏。-这似乎是一个相关的话题 我会尽量使用简单的和函数 第一种方法: $buffer

在服务器中,出于安全原因,
file\u get\u contents
被禁用。我需要检索xml数据。那么,最好的做法是:

  • 验证服务器是否支持
    file\u get\u contents
  • 是否有
    文件获取内容的替代方法

  • 通过检查ini指令,您可以检查是否可以使用
    文件中的url\u get\u contents()
    (以及
    fopen()
    函数系列):

    您可以通过以下方式绕过这些限制:

  • 我强烈推荐卷发
    fsockopen()
    更脏。

    -这似乎是一个相关的话题

    我会尽量使用简单的和函数

    第一种方法:

    $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);
    
    第二种方法:

    $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);
    

    使用其他服务器。。。像这样的限制对于实际提升安全性几乎没有什么作用(因此,这些限制中的大多数都是从PHP的未来版本中删除的)…可能的重复:但OP说该功能已被禁用,因此如果禁用了
    file\u get\u contents
    fopen
    。。。实际上,这个问题根本没有提到URL(它只是基于“检索xml数据”假设的)。如果禁用了
    allow\u url\u fopen
    ,则yes@NullUserException,
    fopen
    也将不起作用。。。但是,考虑到问题中的细节,它可能仍然有效…@NullUserException:我从问题中得出结论,可以通过指令
    disable\u函数
    禁用文件\u get\u内容。您在回答中谈到了URL,但OP对URL只字未提。@irc,Marty我想我误解了/误解了这个问题。我删除了否决票,但我认为我们中没有人理解这个问题。它的措辞不是很清楚,所以要么(或者两者)的答案可能是正确的(或者两者都可能是错误的)。我们只是根据我们对问题的解释做出假设。。。