Inhaltsverzeichnis
回复内容:
Heim Backend-Entwicklung PHP-Tutorial 请教PHP fflush 的问题, not working

请教PHP fflush 的问题, not working

Jun 06, 2016 pm 08:21 PM
php

有没有用过 fflush 函数

官方解释是这样说的:
Flushes the output to a file
This function forces a write of all buffered output to the resource pointed to by the file handle.

也就是说把文件的写入缓存强行释放输出到文件指针.
http://php.net/manual/en/function.fflush.php

但我发现 fwrite 在执行完之后, 内容就马上写入文件了. 不需要fflush, 也不需要fclose, 对这个问题感到很疑惑, fflush 究竟有提供了什么作用.

代码:

<?php

$fp = fopen("fflush.txt", "w+");
for ($i = 0; $i < 10; $i++) {
    fwrite($fp, "Write something here\n"); // 马上写入内容, 根本不存在 buffer 一说啊!
    sleep(1);
}
fflush($fp);
fclose($fp);
Nach dem Login kopieren
Nach dem Login kopieren

回复内容:

有没有用过 fflush 函数

官方解释是这样说的:
Flushes the output to a file
This function forces a write of all buffered output to the resource pointed to by the file handle.

也就是说把文件的写入缓存强行释放输出到文件指针.
http://php.net/manual/en/function.fflush.php

但我发现 fwrite 在执行完之后, 内容就马上写入文件了. 不需要fflush, 也不需要fclose, 对这个问题感到很疑惑, fflush 究竟有提供了什么作用.

代码:

<?php

$fp = fopen("fflush.txt", "w+");
for ($i = 0; $i < 10; $i++) {
    fwrite($fp, "Write something here\n"); // 马上写入内容, 根本不存在 buffer 一说啊!
    sleep(1);
}
fflush($fp);
fclose($fp);
Nach dem Login kopieren
Nach dem Login kopieren

给你参考一个方法 stream_set_write_buffer ,默认的 buffer_size8K ,也就是说,fwrite 如果一次写入的数据量大于 buffer_size ,会拆分写入。这种情况在多进程操作同一文件时需要考虑,通常情况下 fflush 是没多大作用的,不过加了也无所谓,毕竟 fopen 还能打开其他的 文件 似的资源。

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

CakePHP Datum und Uhrzeit

CakePHP-Projektkonfiguration CakePHP-Projektkonfiguration Sep 10, 2024 pm 05:25 PM

CakePHP-Projektkonfiguration

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

CakePHP-Datei hochladen

CakePHP-Routing CakePHP-Routing Sep 10, 2024 pm 05:25 PM

CakePHP-Routing

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

Besprechen Sie CakePHP

CakePHP-Kurzanleitung CakePHP-Kurzanleitung Sep 10, 2024 pm 05:27 PM

CakePHP-Kurzanleitung

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein

See all articles