源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

关于file_get_contents返回为空或函数不可用的解决方案

  • 时间:2021-09-18 11:53 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:关于file_get_contents返回为空或函数不可用的解决方案
如果你使用file_get_contents获取远程文件内容返回为空或提示该函数不可用,也许本文能帮到你! 使用file_get_contents和fopen必须空间开启allow_url_fopen。方法:编辑php.ini,设置allow_url_fopen = On,allow_url_fopen关闭时fopen和file_get_contents都不能打开远程文件。如果你使用的是虚拟主机可以考虑用curl函数来代替。 [b]curl函数的使用示例: [/b]
[u]复制代码[/u] 代码如下:
$ch = curl_init(); $timeout = 5; curl_setopt ($ch, CURLOPT_URL, ‘http://www.1sucai.cn'); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $file_contents = curl_exec($ch); curl_close($ch);
利用function_exists函数来判断php是否支持file_get_contents,否则用curl函数来代替。 [b]PS [/b]1、如果你的主机服务商把curl也关闭了,那你还是换个主机商吧! 2、allow_url_fopen设为off,并不代表你的主机不支持file_get_content函数。只是不能打开远程文件而已。function_exists(‘file_get_contents')返回的是true。所以网上流传的《file_get_contents函数不可用的解决方法》还是不能解决问题。 [b]错误代码: [/b]
[u]复制代码[/u] 代码如下:
if (function_exists(‘file_get_contents')) { $file_contents = @file_get_contents($url); }else{ $ch = curl_init(); $timeout = 30; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $file_contents = curl_exec($ch); curl_close($ch); }
[b]应改为: [/b]
[u]复制代码[/u] 代码如下:
if (function_exists(‘file_get_contents')) {//判断是否支持file_get_contents $file_contents = @file_get_contents($url); } if ($file_contents == ”) {//判断$file_contents是否为空 $ch = curl_init(); $timeout = 30; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $file_contents = curl_exec($ch); curl_close($ch); }
[b]最终代码: [/b]
[u]复制代码[/u] 代码如下:
function file_get_content($url) { if (function_exists(‘file_get_contents')) { $file_contents = @file_get_contents($url); } if ($file_contents == ”) { $ch = curl_init(); $timeout = 30; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $file_contents = curl_exec($ch); curl_close($ch); } return $file_contents; }
[b]用法: [/b]echo file_get_content(‘http://www.1sucai.cn');
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部