• PHP文件基础操作


    文件的基本操作:(更多

    fopen():文件打开
    $file = fopen("file.txt","r+"); 
    

    fopen()函数的参数是目标文件的路径和文件的读写模式;同时fopen函数也会在打开文件时候发现没有文件会自动创建一个文件但是模式必须是读写或写入的模式

    fread():文件读取
    fread($file,filesize("file.txt"));
    

    fread()函数的参数是需要读取的文件和文件读取的最大字节数

    fgets():读取单行文件
    fgets($file);
    

    读取文件中的单行文字,没读取一次就会将文件指针指向下一行的首部

    fgetc():读取单个字符
    fgetc($file);
    

    fgetc()函数将会逐个字符的读取内容输出;常见的是结合while循环输出,利用EOF检查函数feof()来控制循环

    fclose():文件关闭
    fclose($file);
    

    文件一旦被打开在原则上一定要在使用后关闭它

    fopen()函数打开的文件赋值给一个变量file,相当于file就是文件的地址指针,fread()函数依据file的地址指针可以找到自己需要读取的文件(同理,在fread()函数中可以直接使用fopen()函数,直接打开文件,告诉fread()文件地址,然后函数执行自己的人物)

    PHP文件检查(EOF):
    feof():检查是否达到文件尾部
    feof($file);
    

    feof()函数的主要功能是检查文件中的指针是否到达文件末尾,可以借此来解决未知大小的文件读写防止越界的问题

    fwrite():写入文件
    	<?php
    		$file = fopen("/File.txt","w");// w:文件写入模式;如果没有该文件就会自动创建文件
    		$txt = "Chinawangyuyang
    GMAIL.com";//以String类写入,并运用转义转义字符实现简单排版
    		fwrite($file, $txt);//参数:写入路径,写入的内容
    		fclose($file);
    	?>
    

    fwrite()函数参数主要是写入的文件地址和需要写入的字符串或字符类型的变量

    注意: 文件写入和文件的操作(读写)模式有着非常重要的关系;fwrite()函数只负责向文件写入数据,而fopen()函数每次打开文件的时候就会将指针指向文件首部或是直接将新的数据覆盖原有的所有数据或部分数据;所以我们在对现有文件不覆盖进行文件数据增删的时候需要注意fopen()函数选择的读写模式为追加或者是指定文件指针的位置,从指针位置开始写入数据信息;

    其它文件函数:

    file_exists():文件是否存在
    file_exists("file.txt");
    

    (不打开文件)检测文件是否存在;参数是文件的相对或绝对地址路径;返回布尔值

    filesize():文件字节大小
    filesize("file.txt");
    

    检测文件的字节大小,参数是文件的相对或绝对地址路径;

    unlink():删除文件
    unlink("file.txt");
    

    删除指定的文件;参数是文件的相对或绝对地址路径;返回布尔值

    文件指针定位:
    rewind():首部
    • 将文件指针复位到文件的首部
    ftell():返回位置
    • 将文件指针的当前位置返回
    fseek():指定位置
    • 将指针移动到指定的位置

      int fseek( resource fp , int offset [, int whence]);
      

      fseek()函数主要的功能是将文件指针fp从whence位置移动offset字节;(whence默认是文件首部 [SEEK_SET];当前指针位置[SEEK_CUR];文件尾部 [SEEK_END])

    flock():文件锁定
    bool flock( resource fp , int operation [, int &wouldblock]);
    

    *通过flock()函数来完成对文件锁定;主要参数有:指定文件指针,以及一个需要锁定类型的常数;返回布尔值(是否成功锁定文件);

  • 相关阅读:
    STM32 printf 方法重定向到串口UART
    STM32F401CCU6与MFRC522接线及读取示例
    Keil MDK5 STM32F401CCU6开发环境配置
    Keil MDK5 STM32F103C8T6开发环境配置
    RFID EPC Class1 Gen2电子标签笔记
    Ubuntu20.04下的ESP8266环境
    Centos7使用memtester测试内存
    内核5.4以上, Realtek 8111网卡初始化失败
    Centos7的KVM安装配置详解
    Python抓取网页例子
  • 原文地址:https://www.cnblogs.com/wangyuyang1016/p/11470584.html
Copyright © 2020-2023  润新知