PHP Streams函数

PHP stream_set_read_buffer() 函数设置给定流上的读取文件缓冲。它相当于 stream_set_write_buffer(),但用于读取操作。

语法

stream_set_read_buffer(stream, size) 

    参数

    stream必填。 指定文件指针。
    size必填。 指定要缓冲的字节数。如果 size 为 0,则读取操作不会被缓冲。这可以确保在允许其他进程从该输入流读取数据之前完成使用 fread() 的所有读取。

    返回值

    成功时返回 0,失败时返回其他值。

    示例:

    下面的示例展示了如何使用stream_set_read_buffer()函数创建无缓冲流。

    <?php
    $file = "test.txt";
    $message = "Hello World!";
    
    $fp = fopen($file, "w");
    fwrite($fp, $message);
    fclose($fp);
    
    $fp = fopen($file, "r");
    if ($fp) {
      if (stream_set_read_buffer($fp, 0) !== 0) {
        echo "Changing the buffering failed \n";
      }
    
      //读取文件内容
      $content = fread($fp, filesize("test.txt"));
    
      //显示读取的内容
      echo $content;
    
      //关闭文件
      fclose($fp);
    }
    ?> 
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    上述代码的输出将是:

    Hello World!