• 主题更新一下,修复了头像挂掉的问题

  • 后羿更新网站文章可能不会那么闲了

  • 不得不说,美国贴吧的界面真是难看到死

  • 看到网上新闻美国的贴吧将成为中国公司

  • 推送试试

  • 睡觉之前测试一下

  • 发现了一个非常不错的插件

  • 经过确认,微软的必应搜索在中国被屏蔽

  • 给主题增加一个阿里云的代码库

  • 正式通知一下,有赞支付已经停止业务了

使用file_get_contents获取远程文件内容

WordPress 云落 4年前 (2015-04-16) 723次浏览 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" ); ?>
我了个大擦。这次的代码好少啊。。。。。

-- 完 --
使用file_get_contents获取远程文件内容
扫码订阅,第一时间获得更新
微信扫码二维码,订阅我们网站的动态,另外不定时发送 WordPress 小技巧,你可以随时退订,欢迎订阅哦~

极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:使用file_get_contents获取远程文件内容

极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:使用file_get_contents获取远程文件内容
喜欢 (2)
[sp91@qq.com]
分享 (0)
云落
关于作者:
无折腾,不生活,我是一个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