Hi mensen,
Ik ben al een poosje bezig om files door te sturen na validatie van een e-mail.
Dit doe ik met header() en readfile().
Dat ging prima totdat de klant bestanden van 160mb wilde aanbieden als download.
Op dat moment vind de server mij niet meer zo fijn en zie ik in mijn error-log: PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 171755521 bytes)
Ik heb al gekeken naar X-sendfile en ook naar flushing voorafgaand aan de readfile.. vooralsnog geen succes.
Iemand een tip?
Ik ben al een poosje bezig om files door te sturen na validatie van een e-mail.
Dit doe ik met header() en readfile().
Dat ging prima totdat de klant bestanden van 160mb wilde aanbieden als download.
Op dat moment vind de server mij niet meer zo fijn en zie ik in mijn error-log: PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 171755521 bytes)
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
| $path = $_uploadpath.$filename; header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="'.$filename.'"'); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . filesize($path)); readfile($path); |
Ik heb al gekeken naar X-sendfile en ook naar flushing voorafgaand aan de readfile.. vooralsnog geen succes.
PHP:
1
2
3
| header("X-Sendfile: $path"); header("Content-type: application/octet-stream"); header('Content-Disposition: attachment; filename="' . basename($filename) . '"'); |
Iemand een tip?