首页编程file_get_contents,如何开启filegetcontents

file_get_contents,如何开启filegetcontents

编程之家2023-11-0788次浏览

大家好,今天小编来为大家解答file_get_contents这个问题,如何开启filegetcontents很多人还不知道,现在让我们一起来看看吧!

file_get_contents,如何开启filegetcontents

php里的file_get_contents 第3个参数的问题

这个context是指“流中的内容”。

我们知道OS操作都由输入输出流控制。

在开启一些特殊文件(unix下任何东西都是文件),比如设备,键盘、屏幕、网络文件、串口

需要输入流进行一些操作。这时候就用stream_context_create制作一份“输入内容”。

实际主要用途,看到大多数实例也是用来进行HTTP操作(实际用途远不局限于这一种功能)

把HTTP的报头Header的内容作为输入流的内容,这种方式开启文件后获得服务返回的内容。

file_get_contents,如何开启filegetcontents

原理上还是对系统文件的输入输出流操作。

<?php

$opts= array(

'http'=>array(

'method'=>"GET",

'header'=>"Accept-language: en\r\n".

file_get_contents,如何开启filegetcontents

"Cookie: foo=bar\r\n"

)

);

$context= stream_context_create($opts);

//提交语言编码和cookie,获得一个网址的响应内容

$file= file_get_contents('http://www.example.com/', false,$context);

?>

希望不会悲剧,说了半天被看不懂

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

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

函数说明

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;

如何开启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用记事本编辑这个文件就可以了。

php5.6的file_put_contents问题求解

你的代码确实不怎么规范;

有地方不明白你要干

<?php

$txt= intval(file_get_contents('cly.txt'));

file_put_contents('cly.txt', strval($txt+ 1));

echo$txt;

?>

第一句话 intval是强制转换成整数。

file_get_contents返回类型是bool|string

结果就是文件不存返回的是false而在一般的语言中都是false本身就是0.如果存在肯定返回的是里面的字符串。而任何的字符串只要不是数字开头 intval都会返回0。

而php中 Warning不会影响程序继续运行。

所以结果就是第一句话返回的文件不存在就是0,

至于你说的404描述错误。这个不可能产生。

还有代码真的不严谨。

应该这样

$filename='cly.txt';

if(!file_exists($filename)){//文件不存在的时候

file_put_contents($filename,'');//生成文件

}

$txt= intval(file_get_contents($filename));

file_put_contents($filename, strval($txt+ 1));

echo$txt;

这样就不会出现你说的问题了

OK,本文到此结束,希望对大家有所帮助。

电商平台开发方案?怎样做好电商平台运营方案java编程软件 java编程常用的软件有哪些