fsync

(PHP 8 >= 8.1.0)

fsync同步文件变更(包括元数据)

说明

fsync(resource $stream): bool

此函数同步文件变更,包括元数据。与 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() - 将缓冲内容输出到文件

add a note add a note

User Contributed Notes 1 note

up
9
Dave Gebler
2 years ago
Two points worth noting:

1. fsync() is not suitable for high throughput, use it only when the durability of a file write really matters to you.

2. fsync() includes an implicit call to fflush() so you don't need to manually flush before you sync.
To Top