php文件操作

家电修理 2023-07-16 19:17www.caominkang.com电器维修

每次听丽江小倩都会想起大理古城,苍山雪,洱海月,丽江束河古镇,茶马古道,玉龙雪山,泸沽湖,还有虎跳峡,香格里拉,那里的普达措森林公园,藏传佛教,还有纯洁朴实的人们

在操作文件之前呢,我们应该打开文件,使用fopen()函数,注意,在打开文件时应该务必小心,一不小心可能就会把文件内容删掉,

1 打开文件 语法
resource fopen ( string $filename  , string $mode  [, bool $use_include_path  = false  [, resource $context  ]] )
参数说明参数path字符串包含欲打开的文件路径及文件名;参数mode字符串则代表着流形态,提供了“r”、“”、“a”、“+”、“b”、“r”六种模式选择符号,常用的模式如下

“r” 以只读方式打开文件,该文件必须存在。

“” 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。

“a” 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
“r+” 以可读写方式打开文件,该文件必须存在。

“+” 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。

“a+”以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
“rb” 只读打开一个二进制文件,只允许读数据。

“b” 只写打开或建立一个二进制文件,只允许写数据。

“ab” 追加打开一个二进制文件,并在文件末尾写数据。
“rb+” 读写打开一个二进制文件,允许读写数据,文件必须存在。

“b+” 读写打开或建立一个二进制文件,允许读和写。

“ab+” 读写打开一个二进制文件,允许读,或在文件末追加数据。
“rt” 只读打开一个文本文件,只允许读数据。

“t” 只写打开或建立一个文本文件,只允许写数据。

“at” 追加打开一个文本文件,并在文件末尾写数据。
“rt+” 读写打开一个文本文件,允许读和写。

“t+” 读写打开或建立一个文本文件,允许读写。

“at+” 读写打开一个文本文件,允许读,或在文件末追加数据。
打开方式

① 打开是否为二进制,用“b”标识;

② 读写方式有以下几种只读、只写、读写、追加只写、追加读写。

③ 对文件是否必须存在,以及存在时是清空还是追加会有不同的响应。具体判断如下图

第三个参数

$use_include_path是可选的,改参数在配置文件中php.ini中指定一个路径,
如果电脑维修网希望服务器在这个路径下打开所指定的文件,则可设置为1或者true


如果在打开和写入文件遇到问题,在indos上


2 关闭文件

对文件操作之后,应该关闭文件,否则会引起错误

bool fclose(resource $handle)
该函数将handle指向的文件关闭,成功时返回true,失败时返回false

1 读取整个文件的内容
  • readfile()
    该函数用于读入一个文件,并将其写入到输出缓冲,如果出现错误就返回false
int readfile(string $filename [,bool $use_include_path ,[resource $context]])
  • file()
    可以读取文件的内容
array file(string $filename [,bool $use_include_path ,[resource $context]])
 $line){
		echo "第".$line_num."行的内容是".$line;
	}
?>
  • file_get_contents()
    能是用来将文件的内容读入到一个字符串
string file_get_contents  ( string $filename  [, bool $use_include_path  = false  [, resource $context  [, int $offset  = -1  [, int $maxlen  ]]]] )

读取一行数据
string fgets  ( resource $handle  [, int $length  ] )

从 handle 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。

string fgetss(resource $handle [,int $length [,string $alloable_tags]])

读取一字符
string fgetc(resource $handle)

从文件句柄中获取一个字符。


string fread(int $handle,int $length);

fread() 从文件指针 handle 读取最多 length 个字节。 该函数在遇上以下几种情况时停止读取文件

  1. 读取了 length 个字节
  2. 到达了文件末尾(EOF)

写入文件内容
int frite(resource $handle, string $string [,int $length])

handle
文件系统指针,是典型地由 fopen() 创建的 resource (资源)。
string
The string that is to be ritten.
length
如果指定了 length,当写入了 length 个字节或者写完了 string 以后,写入就会停止,视乎先碰到哪种情况。
注意如果给出了 length 参数,则 magic_quotes_runtime 配置选项将被忽略,而 string 中的斜线将不会被抽去。

int file_put_contents(string $filename,string $string [,int $length]);

filename
要被写入数据的文件名。
data
要写入的数据。类型可以是 string , array 或者是 stream 资源(如上面所说的那样)。
如果 data 指定为 stream 资源,这里 stream 中所保存的缓存数据将被写入到指定文件中,这种用法就相似于使用 stream_copy_to_stream() 函数。
参数 data 可以是数组(但不能为多维数组),这就相当于 file_put_contents($filename, join(’’, $array))。
flags
flags 的值可以是 以下 flag 使用 OR (|) 运算符进行的组合。

 

Copyright © 2016-2025 www.caominkang.com 曹敏电脑维修网 版权所有 Power by