Sendfile.php 422 B

1234567891011121314151617181920
  1. <?php
  2. namespace think\swoole\rpc;
  3. trait Sendfile
  4. {
  5. protected function fread(\think\File $file)
  6. {
  7. try {
  8. $handle = fopen($file->getPathname(), 'rb');
  9. yield pack(Packer::HEADER_PACK, $file->getSize(), Packer::TYPE_FILE);
  10. while (!feof($handle)) {
  11. yield fread($handle, 8192);
  12. }
  13. } finally {
  14. fclose($handle);
  15. }
  16. }
  17. }