PHP Conference Japan 2024

fsync

(PHP 8 >= 8.1.0)

fsync同步对文件的更改(包括元数据)

描述

fsync(资源 $stream): 布尔值

此函数同步对文件的更改,包括其元数据。这类似于 fflush(),但它还会指示操作系统写入存储介质。

参数

stream

文件指针必须有效,并且必须指向由 fopen()fsockopen() 成功打开的文件(并且尚未由 fclose() 关闭)。

返回值

成功时返回 true,失败时返回 false

范例

示例 #1 fsync() 示例

<?php

$file
= 'test.txt';

$stream = fopen($file, 'w');
fwrite($stream, 'test data');
fwrite($stream, "\r\n");
fwrite($stream, 'additional data');

fsync($stream);
fclose($stream);
?>

参见

  • fdatasync() - 同步数据(但不同步元数据)到文件
  • fflush() - 将输出刷新到文件

添加备注

用户贡献的备注 1 条备注

12
Dave Gebler
3 年前
两点值得注意

1. fsync() 不适用于高吞吐量,仅当文件写入的持久性对您确实很重要时才使用它。

2. fsync() 包含对 fflush() 的隐式调用,因此您无需在同步之前手动刷新。
To Top