zoukankan      html  css  js  c++  java
  • php文件的处理和操作

    好长时间没有看php手册了,有些关于文件操作方面的知识点发现从没有学过,现补习一下,顺便整理一下:

    1.文件的打开fopen()   此函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来打开文件

    r 打开文件为只读。文件指针在文件的开头开始。
    w 打开文件为只写。删除文件的内容或创建一个新的文件,如果它不存在。文件指针在文件的开头开始。
    a 打开文件为只写。文件中的现有数据会被保留。文件指针在文件结尾开始。创建新的文件,如果文件不存在。
    x 创建新文件为只写。返回 FALSE 和错误,如果文件已存在。
    r+ 打开文件为读/写、文件指针在文件开头开始。
    w+ 打开文件为读/写。删除文件内容或创建新文件,如果它不存在。文件指针在文件开头开始。
    a+ 打开文件为读/写。文件中已有的数据会被保留。文件指针在文件结尾开始。创建新文件,如果它不存在。
    x+ 创建新文件为读/写。返回 FALSE 和错误,如果文件已存在。

    文本文件 "webdictionary.txt":

    AJAX = Asynchronous JavaScript and XML
    CSS = Cascading Style Sheets
    HTML = Hyper Text Markup Language
    PHP = PHP Hypertext Preprocessor
    SQL = Structured Query Language
    SVG = Scalable Vector Graphics
    XML = EXtensible Markup Language

    php 实例:

    <!DOCTYPE html>
    <html>
    <body>
    
    <?php
    $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
    echo fread($myfile,filesize("webdictionary.txt"));
    fclose($myfile);
    ?>
    
    </body>
    </html>

    运行结果:

    AJAX = Asynchronous JavaScript and XML CSS = Cascading Style Sheets HTML = Hyper Text Markup Language PHP = PHP Hypertext Preprocessor SQL = Structured Query Language SVG = Scalable Vector Graphics XML = EXtensible Markup Language

    2.文件的关闭:fclose()  需要待关闭文件的名称(或者存有文件名的变量)   注释:用完文件后把它们全部关闭是一个良好的编程习惯。

    例子:

    <?php
    $myfile = fopen("webdictionary.txt", "r");
    // some code to be executed....
    fclose($myfile);
    ?>

    3.文件的创建fopen()  当打开的文件不存在,并且被打开为写入(w)或增加(a)时创建文件。

    $myfile = fopen("testfile.txt", "w")

    4.文件的读取readfile()fread()    区别:   readfile() 函数读取文件,并把它写入输出缓冲,不需要代码来操作打开的过程;fread() 函数读取已打开的文件,第一个参数包含待读取文件的文件名,第二个参数规定待读取的最大字节数

    例子:

    <?php
    echo readfile("webdictionary.txt");
    ?>
    fread($myfile,filesize("webdictionary.txt"));

    读取单行文件:fgets()       用于从文件读取单行

    <?php
    $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
    echo fgets($myfile);
    fclose($myfile);
    ?>

    读取单字符:fgetc()     用于从文件中读取单个字符

    <?php
    $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
    // 输出单字符直到 end-of-file
    while(!feof($myfile)) {
      echo fgetc($myfile);
    }
    fclose($myfile);
    ?>

    5.检查是否已到达文件底部:feof()

    <?php
    $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
    // 输出单行直到 end-of-file
    while(!feof($myfile)) {
      echo fgets($myfile) . "<br>";
    }
    fclose($myfile);
    ?>

    6.文件的写入:fwrite()     第一个参数包含要写入的文件的文件名,第二个参数是被写的字符串。

    下面的例子把姓名写入名为 "newfile.txt" 的新文件中:

    <?php
    $myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
    $txt = "Bill Gates
    ";
    fwrite($myfile, $txt);
    $txt = "Steve Jobs
    ";
    fwrite($myfile, $txt);
    fclose($myfile);
    ?>

    如果我们打开 "newfile.txt" 文件,它应该是这样的:

    Bill Gates
    Steve Jobs

    如果文件里已有内容,那么就需要“a+”,

    <?php
    $myfile = fopen("newfile.txt", "a+") or die("Unable to open file!");
    $txt = "Mickey Mouse
    ";
    fwrite($myfile, $txt);
    $txt = "Minnie Mouse
    ";
    fwrite($myfile, $txt);
    fclose($myfile);
    ?>

    如果我们打开 "newfile.txt" 文件,它应该是这样的:

    Bill Gates
    Steve Jobs
    Mickey Mouse
    Minnie Mouse

    7.文件的覆盖:fwrite()     写入已有文件时发生的的事情。所有已存在的数据会被擦除并以一个新文件开始。

    <?php
    $myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
    $txt = "Mickey Mouse
    ";
    fwrite($myfile, $txt);
    $txt = "Minnie Mouse
    ";
    fwrite($myfile, $txt);
    fclose($myfile);
    ?>

    如果现在我们打开这个 "newfile.txt" 文件,Bill 和 Steve 都已消失,只剩下我们刚写入的数据:

    Mickey Mouse
    Minnie Mouse

    8.文件的删除:unlike()  

    $filename = "testfile.txt"; 
    unlink($filename); //删除文件
  • 相关阅读:
    该虚拟机似乎正在使用中,请获取所有权
    分配销售区域
    未对销售组织 XXX 分销渠道 00 语言 ZH 定义
    Bash 遍历目录
    plsql 不需配置*.ora就可以访问数据库
    arch linux
    拓端数据tecdat|R语言有限混合模型(FMM,finite mixture model)及其EM算法聚类分析间歇泉喷发时间
    拓端数据tecdat|使用R语言进行多项式回归、非线性回归模型曲线拟合
    拓端数据tecdat|R语言使用ARIMAX预测失业率经济时间序列数据
    拓端数据tecdat|R语言用ARIMA模型,ARIMAX模型预测冰淇淋消费时间序列数据
  • 原文地址:https://www.cnblogs.com/shenzikun1314/p/7942671.html
Copyright © 2011-2022 走看看