PHP学习笔记--第二章--数据存取

使用fopen()打开文件

$fp = fopen("$document_root/../orders/order.txt",'w');// ..表示文档根目录的父目录,这是个相对路径,描述了一个相对于文档根目录的文件系统位置,w是只写模式
$document_root = $_SERVER['DOCUMENT_ROOT'];

调用fopen()的时候,需要传递两个、三个或者四个参数
第三个参数 可选 如果要在include_path中搜索一个文件,就设置为true,同时不需要提供目录名称或路径

$fp = fopen("order.txt",'ab',true);

第四个参数 可选 允许文件名称带有协议名称前缀以及打开远程文件。
文件模式总结:
r 只读 从文件头开始读
w 只写 从文件头开始写。如果改文件已经存在,将删除所有文件已有的内容。文件不存在,会创建这个文件
x 谨慎写 如果文件已经存在,改文件将不会被打开。函数返回false,php产生警告
a 追加 打开文件,如果文件已有内容,讲从文件末尾开始追加写。如果文件不存在,将会创建这个文件
b 二进制模式 用于与前四个模式进行连接,例如 ab 追加二进制
t 文本 用于与前四个模式进行连接。

@$fp = fopen("$document_root/../orders/order.txt",'ab');
if(!$fp){
	echo "aaabbbccc";
	exit;
}

错误抑制操作符,告诉PHP抑制所有由该函数调用所产生的错误。

写文件
fwrite()函数

int fwrite (resource handle,sting [, int length])//第三个参数是写入最大字符数,可选
//可以通过PHP内置strlen函数获得字符串的长度
fwrite($fp,$outputsting,strlen($outputsting));

关闭文件
fclose($fp);//成功关闭返回true

读文件

$fp = fopen("$document_root/../orders/order.txt",'rb');//以只读模式打开文件

while(!feof($fp))//知道何时读完文件,文件指针指向了文件末尾,返回true,File End Of File

fgets($fp);//一直读,直到遇到换行符/n或者文件结束符EOF
fgetss($fp);//类似上面的,但是可以过滤字符串中包含的PHP和HTML标记
$order = fgetcsv($fp,0,"\t");//例如前面所介绍的制表符或者逗号,可以使用这个函数将文件分成多行
//这个代码将从文件中读取一行,并且在有制表符的地方讲文件内容分行,该函数讲返回一个数组。0表示不希望限制行长度

readfile("$document_root/../orders/orders.txt");//打开这个文件,然后将文件输出到浏览器中,然后再关闭这个文件
fpassthru($fp);//读操作成功,函数将返回true
$filearray = file("$document_root/../orders/order.txt");//将结果发送到一个数组中,每一行都将作为数组的一个元素
file_get_contents($fp);//与readfile相同,但是该函数将以字符串的形式返回文件内容。

fgetc($fp);//从文件中一次读取一个字符,但是会读文件结束符EOF,所以需要搭配feof函数结束
fread($fp,5);//读取任意函数,读五个字节。

file_exists("$document_root/../orders/order.txt");//文件是否存在
filesize("$document_root/../orders/order.txt");//文件大小

rewind(),fseek(),ftell()//在文件中定位
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值