Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to read huge file and output it with php

Tags:

file

php

I want to handle big files(1-2Gb) downloads with php script and found two ways to do that:

  1. with file_get_contents()
  2. with readfile()

and use this implementation:

header('Content-type: ' . $string);
header('Content-disposition: attachment; filename=' . $info['filename']);
$file = file_get_contents($filename);
echo $file;
or
readfile($filename);

But it takes too long to output the file. I suppose that the whole file has to be readed, before the output starts. It is more quickly when point the exact location of the file. Then it starts the output almost immediately.

I am looking for solution that streams the file or something. Any ideas?

like image 464
kode Avatar asked Jan 19 '23 17:01

kode


1 Answers

You should consider using mod_xsendfile

like image 169
Jani Hartikainen Avatar answered Jan 30 '23 18:01

Jani Hartikainen