• PHP fwrite 函数:将字符串写入文件(追加与换行)(转)


     

    PHP fwrite()

    fwrite() 函数用于向文件写入字符串,成功返回写入的字符数,否则返回 FALSE 。

    语法:

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

    fwrite() 把 string 的内容写入文件指针 handle 处。

    参数说明:
    参数说明
    handle 要写入字符串的文件指针,一般由 fopen() 函数创建
    data 要写入的字符串
    length 可选,规定要写入的最大字节数

    如果指定了可选参数 length,当写入了 length 个字节或者写完了 string 以后,写入就会停止。

    例子:

    <?php
    // 要写入的文件名字
    $filename = 'file.txt';
    // 写入的字符
    $word = "你好!";
    
    $fh = fopen($filename, "w");
    echo fwrite($fh, $word);    // 输出:6
    fclose($fh);
    ?>
    

    执行该例子程序,在程序同目录下,file.txt 文件内容为:你好!

    使用 length 参数

    上面的例子中,如果使用了 length 参数,则至多写入 length 个字符串:

    echo fwrite($fh, $word, 4);    // 输出:4
    

    PHP fwrite 追加写入

    对文件的追加写入,实际与 fwrite 函数无关,而与 fopen 函数打开文件的模式有关。当 fopen 打开文件时,mode 参数选择 a ,则表示在文件后面追加写入:

    <?php
    $filename = 'file.txt';
    $word = "你好!";
    
    $fh = fopen($filename, "a");
    echo fwrite($fh, $word);
    fclose($fh);
    ?>
    

    PHP fwrite 换行写入

    如果要在文件中实现换行写入,只需要在写入内容中需要换行的地方添加换行符 n 即可:

    <?php
    $filename = 'file.txt';
    $word = "你好!n";
    
    $fh = fopen($filename, "a");
    echo fwrite($fh, $word);
    fclose($fh);
    ?>
    

    上面的例子在内容结尾添加了 n 换行符。要让 n 在写入文件时表示换行,写入时需使用双引号(如上面例子),如果使用单引号,n 字符不会被解释为换行而是当做 n 字符串,点击查看:PHP 字符串中单引号与双引号的区别

    n 已经是真正意义上的换行,在 windows 操作系统上如果要模拟回车换行(即用写字板打开文件时,不是黑方块而是一行一行的列出),可以在 n 前面加入 r 回车符:

    <?php
    $word = "你好!rn";
    ?>
    

    PHP fwrite 写入权限

    当打开一个已经存在的文件(通常是追加写入模式下),有必要检测该文件是否具有写入权限,从而避免一个系统错误的发生。使用 is_writable 函数检测文件是否可写。

    下面是追加写入模式下一个比较严格检查的例子:

    <?php
    $filename = 'file.txt';
    $word = "你好!n";
    
    // 确定文件存在并且可写
    if (is_writable($filename)) {
        //打开文件
        if (!$fh = fopen($filename, 'a')) {
             echo "不能打开文件 $filename";
             exit;
        }
        // 写入内容
        if (fwrite($fh, $word) === FALSE) {
            echo "不能写入到文件 $filename";
            exit;
        }
        echo "成功地将 $word 写入到文件 $filename";
        fclose($fh);
    } else {
        echo "文件 $filename 不可写";
    }
    ?>

    PHP fwrite 函数只是执行向文件写入字符串的动作,实际它的行为结果取决于 fopen 函数更多一些。如果想一次性将字符串写入或追加至文件,file_put_contents 函数可能是更优的选择。

  • 相关阅读:
    开发DBA(APPLICATION DBA)的重要性
    SQL有外连接的时候注意过滤条件位置
    程序与bug
    Dalvik虚拟机进程和线程的创建过程分析
    Dalvik虚拟机简要介绍和学习计划
    Dalvik虚拟机的运行过程分析
    JRE和JDK的概念
    myeclipse6.0.1(内置了eclipse)安装及其配置
    JDK 环境变量如何设置
    jdk1.5和tomcat5.5免安装的环境配置
  • 原文地址:https://www.cnblogs.com/yongjiapei/p/5632951.html
Copyright © 2020-2023  润新知