PHP文件处理

PHP文件处理

一般分为三个步骤:

  • 打开或者创建文件

    打开或者创建文件fopen() @$fp=fopen(filename,mode);

    打开文件可能遇到下列问题

    没有权限时,PHP会给出一个警告,可以通过@来抑制错误,然后通过if判断以一种对用户友好的方式来处理这个错误

    if(!$fp){
      DO...
      exit;
    }
  • 操作文件

    写入

    fwrite() int fwrite ( resource $handle , string $string [, int $length ] )

    同时写上写入数据的长度length的话会有效避免一些跨平台兼容问题

    读取

    fgetc() fgets() fgetss() fgetcsv() readfile() fpassthru() file() fread()

    判断何时读完文件 feof()

  • 关闭文件 fclose()

除此之外还有一些有用的文件函数:

查看文件是否存在:file_exists()

确定文件大小:filesize()

删除一个文件:unlink()

在文件中定位:rewind() fseek() ftell()

文件锁定:flock()

bool flock ( resource $handle , int $operation [, int &$wouldblock ] )

操作值意义
LOCK_SH(以前1)LOCK_SH(以前1)读操作锁定,这意味着文件可以共享,其他人可以读该文件
LOCK_EX(以前2)写操作锁定,这是互斥的。该文件不能被共享
LOCK_UN(以前3)释放已有的锁定
LOCK_NB(以前4)防止在请求加锁时发生阻塞

一个简单的写入txt和读取txt文本的例子:

写入

$outputString = $date."\t".$tireqty." tires\t".$oilqty." bottles oil\t".$sparkqty." spark plugs\t\$".$totalamout."\t".$address."\r\n";
    //open file for appending
    @ $fp = fopen("$DOCUMENT_ROOT/../orders/orders.txt", 'ab');

    if(!$fp){
        echo "<p><strong>Your order could not be processed at this time. Please try again later.</strong></p></body></html>";
        exit;
    }
    fwrite($fp, $outputString,strlen($outputString));
    flock($fp,LOCK_UN);
    fclose($fp);

读取

@$fp = fopen("$DOCUMENT_ROOT/../orders/orders.txt", 'rb');
    if(!$fp){
        echo "<p><strong>No orders pending. Please try again later.</strong></p></body></html>";
        exit;
    }
    echo "Date\tTires\tOil\tSparkPlugs\ttotalamout\tAddress<br/>";
    while(!feof($fp)){
        $order=fgets($fp,999);
        echo $order."<br/>";
    }
fclose($fp);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值