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我想我误解了/误解了这个问题。我删除了否决票,但我认为我们中没有人理解这个问题。它的措辞不是很清楚,所以要么(或者两者)的答案可能是正确的(或者两者都可能是错误的)。我们只是根据我们对问题的解释做出假设。。。