文件上传相关函数知识笔记

fputs()

  • 如下代码:

  • <?php
    $file = fopen("test.txt","w");
    echo fputs($file,"Hello World. Testing!");
    fclose($file);
    ?>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11

    * 输出`21`,即这个字符串包含的字符数(包括空格和标点符号)为 21 ,`fputs()` 函数执行后返回 `21` ,`echo` 语句将这个返回值输出。



    # `file_put_contents()`

    * 如以下代码:

    ```php
    file_put_contents($file,$content);
  • 记住两个重要特性:

    • 若目标文件没有创建,则该函数会自动创建一个目标文件

    • 当不使用 $flags 参数或者没有使用 FILE_APPEND 标志时,file_put_contents 函数会覆盖文件原有的内容。如下:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      <?php
      // 要写入的文件路径
      $file = 'test.txt';
      // 要写入的内容
      $content = '这是新的内容。';
      // 使用 file_put_contents 函数写入内容,默认会覆盖原内容
      file_put_contents($file, $content);
      echo "内容已写入文件。";
      ?>

      若要实现追加内容而非覆盖,可使用 FILE_APPEND 标志,示例如下:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      <?php
      // 要写入的文件路径
      $file = 'test.txt';
      // 要写入的内容
      $content = '这是追加的内容。';
      // 使用 FILE_APPEND 标志来追加内容
      file_put_contents($file, $content, FILE_APPEND);
      echo "内容已追加到文件。";
      ?>

      总结来说,当不使用 FILE_APPEND 标志时,file_put_contents 函数会覆盖文件原有的内容;使用 FILE_APPEND 标志时,则会在文件末尾追加内容。