swoole_async_readfile

异步读取文件内容,函数原型

//函数风格
swoole_async_readfile(string $filename, mixed $callback);
//命名空间风格
Swoole\Async::readFile(string $filename, mixed $callback);
  • 文件不存在会返回false
  • 成功打开文件立即返回true
  • 数据读取完毕后会回调指定的callback函数。

使用示例:

swoole_async_readfile(__DIR__."/server.php", function($filename, $content) {
     echo "$filename: $content";
});

swoole_async_readfile会将文件内容全部复制到内存,所以不能用于大文件的读取
如果要读取超大文件,请使用swoole_async_read函数
swoole_async_readfile最大可读取4M的文件,受限于SW_AIO_MAX_FILESIZE


  • Frank

    试了一下,这个功能不支持对url的读取,希望增加。 Warning: swoole_async_readfile(): open file[http://www.baidu.com] failed. Error: No such file or directory

  • 木子

    这只能读本地文件。

  • 柴郡猫cat

    url读取要发起网络请求的

  • cslistener

    注意:用swoole_async_readfile异步读取Linux伪文件系统/proc会发生警告: Warning: swoole_async_readfile(): file is empty.

  • 过期的奶酪

    @Frank url不是属于http的范畴么。

  • 东风

    给对swoole感兴趣的朋友推荐一个swoole学习群:820469789,群里面每天会讲解swoole项目,还有大牛答疑解惑,学习与快乐同在。我们群是关于swoole学习的,希望大家多多交流。即使是小白也没有关系,只要加入QQ群,就可以获取一些免费的学习资料。