×

phpfilegetcontents

phpfilegetcontents(php file get contents)

admin admin 发表于2023-04-01 00:01:10 浏览40 评论0

抢沙发发表评论

本文目录一览:

PHP file_get_contents()读入文件问题?

因为explode得到数组key是0、1、2、3,因此无法使用array_key_exists来检查是否存在行,应该使用array_search来检测行的位置,另外读入再拆分可以直接使用file,建议代码为:

$arr=file('str.txt');

if (array_search('刘二',$arr)===FALSE) echo '没有刘二';

注意,array_search结果是找到的key,因此可能为0,没有找到返回的是FALSE,判断的时候要使用三个等号

此外,上面的思路只使用大文件中进行少量的搜索,如果是需要反复许多次这样搜索数组,效率更好的办法是使用array_flip把数组的键和值兑换,随后的搜索效率更高。

$arr=array('陈一','刘二','李四','张三');

print_r($arr);//0='陈一',1='刘二',2='李四',3='张三'

$arr2=array_flip($arr);

print_r($arr2);//'陈一'=0,'刘二'=1,'李四'=2,'张三'=3

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()应用与差异介绍

PHP file_get_contents 函数超时的几种解决方法

这里就简单介绍两种:

一、增加超时的时间限制

这里需要注意:set_time_limit只是设置你的PHP程序的超时时间,而不是file_get_contents函数读取URL的超时时间。

我一开始以为set_time_limit也能影响到file_get_contents,后来经测试,是无效的。真正的修改file_get_contents延时可以用resource

$context的timeout参数:

复制代码

代码如下:

$opts

=

array(

‘http'=array(

‘method'=”GET”,

‘timeout'=60,

)

);

$context

=

stream_context_create($opts);

$html

=file_get_contents('',

false,

$context);

fpassthru($fp);

二、一次有延时的话那就多试几次

有时候失败是因为网络等因素造成,没有解决办法,但是可以修改程序,失败时重试几次,仍然失败就放弃,因为file_get_contents()如果失败将返回

FALSE,所以可以下面这样编写代码:

复制代码

代码如下:

$cnt=0;

while($cnt

3

($str=@file_get_contents('http…'))===FALSE)

$cnt++;

php 使用file_get_contents读取大文件的方法

当我们遇到文本文件体积很大时,比如超过几十M甚至几百M几G的大文件,用记事本或者其它编辑器打开往往不能成功,因为他们都需要把文件内容全部放到内存里面,这时就会发生内存溢出而打开错误,遇到这种情况我们可以使用PHP的文件读取函数file_get_contents()进行分段读取。-phpfilegetcontents

函数说明

string

file_get_contents

(

string

$filename

[,

bool

$use_include_path

[,

resource

$context

[,

int

$offset

[,

int

$maxlen

]]]]

)

file()

一样,只除了

file_get_contents()

把文件读入一个字符串。将在参数

offset

所指定的位置开始读取长度为

maxlen

的内容。如果失败,file_get_contents()

将返回

FALSE。

file_get_contents()

函数是用来将文件的内容读入到一个字符串中的首选方法。如果操作系统支持还会使用内存映射技术来增强性能。

应用:

复制代码

代码如下:

$str

=

$content=file_get_contents("2.sql",FALSE,NULL,1024*1024,1024);

echo

$str;

如果针对较小文件只是希望分段读取并以此读完可以使用fread()函数

复制代码

代码如下:

$fp=fopen('2.sql','r');

while

(!feof($fp)){

$str.=fread($fp,

filesize

($filename)/10);//每次读出文件10分之1

//进行处理

}

echo

$str;

php用file_get_contents无法获取一个带有JavaScript的完整网页

file_get_contents只能获取html内容,无法解析js,如果想解析,比较麻烦,比如使用phantomjs