PHP之文件

本文介绍了PHP中常用的文件操作方法,包括file_put_contents和file_get_contents的使用,以及如何处理大文件的操作。文中详细讲解了fopen函数的不同模式,如读模式(r)、写模式(w)等,并介绍了文件锁定(flock)、连续读取(fread和fgets)以及写入(fwrite)等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

操作文件的常用方法

flie_put_contents(url,str);
file_get_contents(url);

<?php
$str = time();
$path = './time.txt';

echo '<hr>';

file_put_contents($path,$str);
echo file_get_contents($path);

echo '<hr>';

file_put_contents($path,"\r".$str,FILE_APPEND);
echo file_get_contents($path);

当文件过大时,不能使用以上的方法一次性操作以上内容,使用下面的函数解决

  • fopen() 打开文件句柄(php与文件间的数据流通道)
    参数1:文件地址
    参数2:打开方式,打开文件后希望完成哪种操作,可以在模式位置进行限制
    文件模式:
    r(read) 读模式
    w (write) 替换写模式,将文件内容清零,不存在则创建
    a(append)
    x 替换写模式,将文件内容清零,不存在不创建
    +扩展
    r+ 读写模式 ,将文件指针放在文件头
    w+ 读写模式 ,将文件清零,将文件指针放在文件头
    x+ 读写模式 ,将文件清零,将文件指针放在文件头,不自动创建文件
    a+ 读追加写模式 ,写操作永远在末尾,读操作受限于文件指针
    在都可以读写操作时,不同的是文件的初始化

  • 锁文件
    flock(文件句柄,锁类型)
    锁类型:LOCK_EX (排他锁)| LOCK_SH(共享锁)|LOCK_UN(释放锁)

  • 连续读取:
    fread(文件句柄[,长度]); 读取指定长度(字节)的内容
    fgets(文件句柄[,长度]); 读取指定长度(字节)的内容
    长度:指的是会读取长度-1个字节
    行末是函数的终止操作
    fgetc(文件句柄) 一次读取一个字节

  • fwrite(文件句柄,内容);

  • fclose(文件句柄);

  • ftell();寻找指针位置
  • fseek();定位指针位置
<?php
$stmt = fopen('./rw.txt','r+');

echo ftell($stmt);
fwrite($stmt,'01234'."\n".'56789');
echo ' r '.ftell($stmt);
echo '<br>';

fseek($stmt,1);
fwrite($stmt,'ab');
fseek($stmt,1);

echo fgets($stmt,8);
echo '<br>';
echo fgets($stmt,8);

fclose($stmt);

rw.txt


r+ 读写受指针影响,写替换原有指针内容
w+ 清空内容
a | a+ 指针具有不确定因素,读受指针影响,写是追加

  • filemtime(url) 文件最后修改时间
  • filesize() 文件大小
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值