PHP笔记--文件操作

打开文件:fopen()

resource fopen(string filename, string mode [,bool use_include_path]);

参数filename是要打开的包含路径的文件名,可以是相对路径,也可以是绝对路径。如果没有任何前缀则表示打开的是本地文件;参数mode是打开文件的方式,可取值 

PHP笔记--文件操作_第1张图片

关闭文件:fclose()

bool fclose(resource handle);成功返回true,否则返回false。


读写文件:

读数据:可以读取一个字符、一行字串或整个文件,还可以读取制定长度的字串

读取整个文件readfile()、file()和file_get_contents()

readfile()函数读取一个文件并将其写入到输出缓冲,如果出错返回false。不需要打开/关闭文件,也不需要echo、print等输出语句

int readfile(string filename);

file()函数将文件内容按行存放到数组中,包括换行符,读取失败返回false

array file(string filename);

file_get_contents()将文件内容读入到一个字符串。如果有offset和maxlen参数,将从参数offset所指定的位置开始读取长度为maxlen的一个字符串。读取失败返回false。该函数适用于二进制文件,是将整个文件读入到一个字符串中的首选方式

string file_get_contents(string filename [,int offset [,int maxlen]]);

readfile('lyc.txt');
echo '
'; $f_array = file('lyc.txt'); foreach ($f_array as $str){ echo $str.'
'; } echo '
'; $f_chr = file_get_contents('lyc.txt'); echo $f_chr; echo '
';
读取一行数据:fgets()和fgetss()

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

从handle指定文件中读取一行并返回长度最大值为length-1个字节的字符串,遇到换行符、EOF或者读取了length-1个字节后停止。length缺省,读取到行结束

fgetss(),  fgets()函数的变体,读取一行,会过滤掉html和php标记。

string fgetss(resource handle [,int length [,string allowable_tags]]);

$f_open = fopen('lyc.txt','rb');
while(!feof($f_open)){  //feof()测试指针是否到达了文件结束的位置
    echo fgets($f_open);
}
fclose($f_open);
echo '

'; $f_open1 = fopen('lyc.txt','rb'); while(!feof($f_open1)){ //feof()测试指针是否到达了文件结束的位置 echo fgetss($f_open1); } fclose($f_open1); echo '

';
读取一个字符:fgetc() ,返回一个字符,遇到EOF返回false

string fgetc(resource handle);

$f_open2 = fopen('lyc.txt','rb');
while(false !== ($chr = fgetc($f_open2))){
    echo $chr;
}
fclose($f_open2);
读取指定长度字符串:fread()

string fread(resource handle, int length);

当函数读取length个字节或遇到EOF结束

$filename = 'lyc.txt';
$fp = fopen($filename,'rb');
echo fread($fp,32);
echo '
'; echo fread($fp,filesize($filename)); //输出其余的文件内容
写入文件:

fwrite()和file_put_contents()

fwrite()函数也称为fputs(),用法相同。

int fwrite(string filename, string data [, int flags]);

flags可以是FILE_USE_INCLUDE_PATH、FILE_APPEND、LOCK_EX

$filename = 'lyc.txt';
$f_open = fopen($filename,'wb') or die('文件不存在');//不存在会新建一个
fwrite($f_open,'Hello World!');
fclose($f_open);
//file_put_contents()和依次调用fopen()、fwrite()、fclose()所实现的功能一样
file_put_contents('lyc.txt','Hello World!');

操作文件:



xfsdg

你可能感兴趣的:(PHP学习)