如何检查是否启用了allow_url_fopen

30

我正在使用以下代码

echo 'file_get_contents : ', ini_get('allow_url_fopen') ? 'Enabled' : 'Disabled';

这可以启用或禁用它

但我想将其作为函数,函数名为_isgetcontents

然后我可以在我的网站代码中的任何位置调用它

if (_isgetcontents()){
  echo "this is enabled"; // will do an action
}else{
  echo "this is disabled"; // will do another action
}
2个回答

74
使用ini_get()docs)来获取特定配置参数的值:
if( \filter_var( \ini_get('allow_url_fopen'), \FILTER_VALIDATE_BOOLEAN ) ) {
   // lucky me...
} 

那个 if() 不可靠,因为 ini_get() 返回配置选项的字符串,例如它可能返回字符串 'Off',而条件语句会将其视为 true。这应该是正确的检查方式:if ( filter_var( ini_get( 'allow_url_fopen' ), FILTER_VALIDATE_BOOLEAN ) ) - Pablo S G Pacheco
1
这是一个很好的观点。我编辑了我的答案,以包括您的过滤器,适用于那些不阅读但复制和粘贴代码的人。谢谢。 - Marcin Orlowski
当然,谢谢你改了它。有时我也会这样做 :) - Pablo S G Pacheco

2

您也可以使用以下方法

phpinfo()

来检查各种配置。


3
无法在 if 语句中使用 phpinfo(),因此这并没有回答问题。 - Cœur
@Cœur 谢谢你纠正我。:) - Faiyaz Alam
我的phpinfo()中没有这个设置! - Life after Guest

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接