php file_get_contents 不能获得内容
巴扎黑
巴扎黑 2017-04-10 14:34:51
[PHP讨论组]

问题描述:
只能获得本地文件,还有域名是IP 的地址, 域名的方式获得为空
例子:
1.获得本地文件

file_get_contetns('../1.txt');//可以获得

2.获得IP地址的内容

file_get_contents('http://1.1.1.1');//可以获得

3.域名形式内容不能获得

file_get_contents('http://www.baidu.com');//获得内容为空

4.如果php 代码换成 curl形式可以获得

环境:
ubuntu:13.10
php:PHP 5.3.17
allow_url_fopen = on 是打开的
safe_mode:disabled

在命令行下面:

curl http://www.baidu.com 是没问题的

请大家帮忙分析下问题出在什么地方?

补充一点:

如果我把域名host 指向 127.0.0.1 也没办法获得内容

巴扎黑
巴扎黑

全部回复(5)
黄舟

读取远程用curl稳定且高效 读取本地文件用filegetcontents

高洛峰

file_get_contents()不是不能用,而是相比健壮成熟的cURL,file_get_contents的稳定性,错误管理,还有强大的请求控制等功能都没有,所以这里,大家都建议用cURL。
至于为什么IP可以获得而域名获得不了,或许和DNS有关。不过应该可以确定的是你的网络问题

高洛峰

检查防火墙iptables设置

天蓬老师

非常不理解,为什么要用file_get_contents这么不稳定的方式读取远程文件。

阿神

如果url没错,考虑下文件权限和是否可读的问题

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号