zoukankan      html  css  js  c++  java
  • 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 函数可能是更优的选择。

  • 相关阅读:
    298. Binary Tree Longest Consecutive Sequence
    117. Populating Next Right Pointers in Each Node II
    116. Populating Next Right Pointers in Each Node
    163. Missing Ranges
    336. Palindrome Pairs
    727. Minimum Window Subsequence
    211. Add and Search Word
    年底购物狂欢,移动支付安全不容忽视
    成为程序员前需要做的10件事
    全球首推iOS应用防破解技术!
  • 原文地址:https://www.cnblogs.com/yongjiapei/p/5632951.html
Copyright © 2011-2022 走看看