• 欢迎访问乐趣公园网站,WordPress信息,WordPress教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入乐趣公园 QQ群
  • Git主题现已支持PHP7版本,速度应该会提高不少,不过云落的网站本来就很快了,所以感觉不是太明显
  • 最新版Git主题已支持说说碎语功能,可像添加文章一样直接添加说说,新建说说页面即可,最后重新保存固定连接,演示地址
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏乐趣公园吧
  • 云落的淘宝店铺已经开张了哦,传送门:https://kimipet.taobao.com

使用file_get_contents获取远程文件内容

WordPress 云落 3年前 (2015-04-16) 520次浏览 已收录 4个评论
文章目录[隐藏]

利用 php 的 file_get_contents 函数可以获取远程文件的内容,虽然效率可能比 curl 低点,但是好处就是足够简单而且安全。

使用 file_get_contents 获取远程文件内容

前言

前几日,云落分享了一个获取远程文件类容的方法,因为是来自我的实际应用,所以还不错,但是发现了一些不足的地方,今天重新写一下斌切丰富一下内容。

代码分析

先贴一下前几天的代码

<?php
$url = "http://git.oschina.net/yunluo/API/raw/master/notice.txt";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
$notice = curl_exec($ch);
echo $notice;
?>

这段代码会直接使用 curl 显示文件内容,但是问题来了,因为 curl 是 php 的扩展,有的主机为了安全会金庸 curl 的,宁外 php 本地调试的时候也是关闭 curl 的,所以会发生报错,所以这段代码是不可取的,所以云落对他重新改写了

<?php
    if (function_exists('curl_init')) {
        $url = "http://git.oschina.net/yunluo/API/raw/master/notice.txt";
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
        $dxycontent = curl_exec($ch);
        echo $dxycontent;
    } else {
        echo '汗!貌似您的服务器尚未开启 curl 扩展,无法收到来自云落的通知,请联系您的主机商开启,本地调试请无视';
    }
?>

修改后的版本是对 curl 扩展做一个判断,看看服务器到底有木有打开 curl 扩展,如果打开了,就直接显示文件,如果没打开就显示一段提示文字。
虽然修复了问题,但是又有一个问题来了,我只是显示一段文字而已,我也不是是用什么做什么大事的,所以我为什么要写那么多的代码呢??
经过一些瞎掰的检测,发现 file_get_contents 获取远程文件内容的速度不比 curl 慢,在一些文件较少的情况下可能还比 curl 扩展要快得多,所以我又重写了代码

<?php echo file_get_contents( "http://git.oschina.net/yunluo/API/raw/master/notice.txt" ); ?>
我了个大擦。这次的代码好少啊。。。。。

乐趣公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:使用 file_get_contents 获取远程文件内容
喜欢 (2)
云落
关于作者:
无折腾,不生活,我是一个WordPress菜鸟,一个玩淘宝的卖家,欢迎你认识我,我是云落!
发表我的评论
取消评论
表情 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(4)个小伙伴在吐槽
  1. 参考下,两个有用的函数get√
    家香2015-05-02 17:48 回复 未知操作系统 | Internet Explorer 4.01
  2. file_get_contents 用16进制打开效率会更高,不过还不咋地curl感觉好用点。
    小幻2015-04-26 05:56 回复 Windows 8.1 | Chrome 38.0.2125.122
    • 云落
      curl需要扩展支持,某些主机会报错
      云落2015-04-26 10:02 回复 Windows 7 | Firefox浏览器 37.0
  3. 云落
    不错的文章
    哦哦2015-04-21 12:43 回复 Windows XP | Firefox浏览器 36.0