PHP 文件系统 fdatasync() 函数



PHP 文件系统 fdatasync() 函数用于将对文件数据所做的更改与底层存储设备同步。但此函数与 fsync() 之间存在相似之处,仅同步文件数据;不同步其元数据。

请记住,只有 POSIX(可移植操作系统接口)系统才能真正体现出此功能的不同之处。在 Windows 上,此函数是 fsync() 的别名。

语法

以下是 PHP 文件系统 fdatasync() 函数的语法:

bool fdatasync(resource $stream)

参数

以下是 fdatasync() 函数唯一必需的参数:

序号 参数和描述
1

$stream(必需)

文件指针需要指向一个由 fopen() 成功打开且未由 fclose() 关闭的文件。它也需要是有效的。

返回值

fdatasync() 函数在成功时返回 TRUE,失败时返回 FALSE。

PHP 版本

fdatasync() 函数首次引入于 PHP 8.1.0 版本。

示例

这是一个基本示例,用于演示如何使用 PHP 文件系统 fdatasync() 函数来同步对文件所做的更改。

<?php
   $filePointer = fopen('/PhpProjects/myfile.txt', 'w'); 
   fwrite($filePointer, 'Hello, world!'); 
   
   if (fdatasync($filePointer)) { 
      echo "File changes were saved successfully."; 
   } else { 
      echo "Could not save file changes."; 
   } 
   fclose($filePointer); 
?>

输出

以下是以下代码的结果:

File changes were saved successfully.

示例

这是一个额外的 PHP 代码示例,演示了 fdatasync() 方法的使用。

<?php
   $fileHandle = fopen('/PhpProjects/sample.txt', 'w'); 
   fwrite($fileHandle, 'Hello, Tutorialspoint!'); 

   fdatasync($fileHandle); 
   fclose($fileHandle); 

   echo "File changes were saved successfully."; 
?> 

输出

这将产生以下输出:

File changes were saved successfully.

示例

这是一个使用 fdatasync() 函数同步提供的文件内部数据的示例。

<?php
   $fileHandle = fopen('/PhpProjects/sample.txt', 'w'); 
   fwrite($fileHandle, "Line 1\n"); 
   fwrite($fileHandle, "Line 2\n"); 
   fwrite($fileHandle, "Line 3\n"); 

   fdatasync($fileHandle); 
   fclose($fileHandle); 

   echo "The sample changes were saved successfully."; 
?> 

输出

这将生成以下输出:

The sample changes were saved successfully.

示例

这是一个使用 fdatasync() 函数进行安全文件创建的 fdatasync 示例。

<?php
   $data = "Name: Amit Sharma\nEmail: [email protected]\nMessage: Hello, this is a test message.";
   $fileHandle = fopen('/PhpProjects/sample.txt', 'w'); 
   fwrite($fileHandle, $data); 

   fdatasync($fileHandle); 
   fclose($fileHandle); 

   echo "The sample.txt file changes were saved successfully."; 
?> 

输出

这将导致以下输出:

以下是文件数据:

Name: Amit Sharma
Email: [email protected]
Message: Hello, this is a test message. 

以下是控制台输出:

The sample.txt file changes were saved successfully.

总结

fdatasync() 方法是一个内置函数,用于同步对文件所做的更改,但它只同步文件数据,不同步其元数据。该函数在成功时返回 true。

php_function_reference.htm
广告