PHP | fwrite 函数

Lasted 2021-01-18 19:29:00

fwrite 函数写入文件。

fwrite() 函数可安全用于二进制文件。可传入需要写入字节的长度,默认为所有数据。操作成功后返回写入的字节数量。

函数定义

fwrite ( resource $handle , string $string , int $length = ? ) : int
// 源文件位于:ext/standard/file.c
# 函数定义

PHPAPI PHP_FUNCTION(fwrite)
{
  ...
  if (maxlen_is_null) {
    num_bytes = inputlen;
  } else if (maxlen <= 0) {
    num_bytes = 0;
  } else {
    num_bytes = MIN((size_t) maxlen, inputlen);
  }

  if (!num_bytes) {
    RETURN_LONG(0);
  }

  PHP_STREAM_TO_ZVAL(stream, res);

  ret = php_stream_write(stream, input, num_bytes);
  if (ret < 0) {
    RETURN_FALSE;
  }

  RETURN_LONG(ret);
}

参数

  • checkhandle - 文件指针。
  • checkstring - 需要写入的数据。
  • checklength - 如果指定了 length,当写入了 length 个字节或者写完了 string 以后,写入就会停止。

返回值

  • checkbool - 返回写入的字符数,失败时返回 false。

示例1: - 使用 fwrite() 函数写入数据。

<?php
/**
 * PHP fwrite() 函数写入数据。
 *
 * @since Version 1.0.0
 * @filesource
 */

// 打开文件
$fileName = 'foo.txt';
$handle = fopen($fileName, 'r+');

// 截取到2个字符
$len = fwrite($handle, "Fooo");

echo 'Length::'.$len.PHP_EOL;

// 关闭文件
fclose($handle);
Length::4

注意:会覆盖以前的文件内容。