fopen(file,mode)
r | 只读方式打开文件,将文件指针指向文件头 |
r+ | 读写方式打开,将文件指针指向文件头 |
w | 写入方式打开,将文件指针指向文件头并将文件大小截为0,如果文件不存在则创建 |
w+ | 读写方式打开,将文件指针指向文件头并将文件大小截为0,如果文件不存在则创建 |
a | 写入方式打开,将文件指针指向结尾,如果文件不存在则创建 |
a+ | 读写方式打开,将文件指向末尾,如果文件不存在则创建 |
x | 创建并以写入方式打开,将文件指针指向文件头,如果文件存在,则返回false |
x+ | 创建并以读写方式打开,文件指针指向头部,如果文件存在,则返回false |
file_put_contents(file,data,mode,context)
file | 必需,需要写入数据的文件,如果不存在则创建 |
data | 可选,要写入的数据,可以是字符串,数组,数据流 |
mode | 可选,规定如何打开 写入文件 FILE_USE_INCLUDE_PATH: FILE_APPEND 追加 LOCK_EX |
context | 可选,规定文件句柄的环境 |
假设在当前执行文件的目录下有test.txt文件
读取:---------------------------------------------------------------------------------------------------
$file_path = './test3_new';if(!file_exists($file_path)){echo '文件不存在';exit;}
方法一:
$fp = fopen($file_path,'r');$str = fread($fp,filesize($file_path));echo str_replace("/r/n","<br/>",$str);fclose($fp);
方法二:
$str = file_get_contents($file_path);echo str_replace("/r/n","<br/>",$str);
方法三:
$fp = fopen($file_path,'r');$str = '';$buffer = 1024;while(!feof($fp)){$str .= fread($fp,$buffer);}echo str_replace("/r/n","<br/>",$str);fclose($fp);
方法四:
$file_arr = file($file_path);for($i=0;$i<count($file_arr);$i++){echo $file_arr[$i]."<br/>";}
方法五:
$fp = fopen($fp,'r');$str = '';while(!feof($fp)){$str = fgets($fp);//逐行读取,如果不写length参数,则默认1k}echo str_replace("\r\n","<br/>",$str);fclose($fp);
写入:---------------------------------------------------------------------------------------------------
方法一:
$fp = fopen($file_path,'a+');fwrite($fp,'你好啊');fclose($fp);
方法二:
file_put_contents($file_path,'你好啊',FILE_APPEND);