file_get_contents,file_get_contents函数支持访问远程文件
PHP中有两个读文件函数,file()和file_get_contents(),这两个函数有何差异?
PHP中file() 函数和file_get_contents() 函数的作用都是将整个文件读入某个介质,其主要区别就在于这个介质的不同。file() 函数是将文件读入一个数组中,而file_get_contents()是将文件读入一个字符串中。
file() 函数是把整个文件读入一个数组中,然后将文件作为一个数组返回。数组中的每个单元都是文件中相应的一行,包括换行符在内。如果失败,则返回 false。
file_get_contents() 函数是把整个文件读入一个字符串中。和 file() 一样,不同的是file_get_contents() 把文件读入一个字符串。file_get_contents() 函数是用于将文件的内容读入到一个字符串中的首选方法。如果操作系统支持,还会使用内存映射技术来增强性能。
如何开启filegetcontents
首先要确定PHP版本,file_get_contents需要PHP 4.3以上版本才能运行。然后登录VPS,修改PHP.ini文件,大概在555行,找到下面的内容:
; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
allow_url_fopen = On
如上面,将allow_url_fopen = Off 改成On ,然后重启VPS就可以了。它的作用是用来获取一个文件或者一个网络资源的全部内容,函数读取的时候都是在内存中运行,所以如果要读取文件或网络资源非常大的话,就不能使用这个函数,因为这个函数读取的方式是一次性加载的,所以内存承受不了。
如果不会用LINUX命令修改,只需要在VPS中安装Webmin就可以管理VPS,里面有PHP Configuration选项,可以在线编辑php.ini文件。如果VPS是windos系统,直接找到php.ini用记事本编辑这个文件就可以了。
php使用file_get_contents同步数据是对方收不到数据
原因可能有下面2个情况:
首先看看你的file_get_contents()是否读取到数据,没有数据的话对方肯定收不到;
如果取到了看看是否是数据过大(过长)导致页面发送超时而失败;
解决的办法:
读取到数据用file_get_contents()或者是file()方法都行;
将拿到的数据分段发送(可以反复调用此action来发送,直到没有数据)。
php中file_get_contents()函数用法实例
我们先来看一下php中的
file_get_contents()函数的语法
string
file_get_contents(string
$
filename,bool
$
include_path
=
false,resource
$
context,int
$
offset
=
0,int
$
maxlen)
filename是文件或URL的名称。
include_path如果启用,则在include_path中搜索文件
context这是用于修改流的行为的选项集
offset此值指定要读取的文件的起始位置。
maxlen此值指定要读取的字节数。
将文件内容读取为字符串
这个php示例将从文件中读取内容并存储到字符串变量中。
?php
$
content
=
file_get_contents(“input.txt”);
echo
$
content;
?
将内容从URL读取到字符串
?php
$content
=
file_get_contents("");
echo
$content;
?
以上就是关于php中file_get_contents()函数的相关知识点,感谢大家的阅读和对脚本之家的支持。
您可能感兴趣的文章:PHP
fopen()和
file_get_contents()应用与差异介绍