ik probeer een file van een ftp-server te downloaden (helaas geen ondersteuning voor passive mode, dus fopen lukt niet) en ik zou dit graag willen doen zonder eerst de hele file naar de webserver te downloaden naar een tempfile.
Ik kwam op het volgende (onderdeel van een klasse, het globale idee moet duidelijk zijn denk ik...):
Helaas werkt dit niet; het gedownloade bestand heeft geen data. Als ik echter
na de "get" plaats krijg ik netjes de correcte statistieken van de file, de filepointer is dus in orde, wat doe ik verkeerd / zou ik moeten doen om dit werkend te krijgen?
Ik kwam op het volgende (onderdeel van een klasse, het globale idee moet duidelijk zijn denk ik...):
code:
1
2
3
4
5
6
7
8
9
| function DownloadFile($name, $tmpfile, $mode)
{
$fp = fopen($tmpfile, "w");
ftp_fget($this->FTPresult, $fp, $name, $mode);
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=$name");
rewind($fp);
fpassthru($fp);
} |
Helaas werkt dit niet; het gedownloade bestand heeft geen data. Als ik echter
code:
1
| print_r(fstat($fp)) |
na de "get" plaats krijg ik netjes de correcte statistieken van de file, de filepointer is dus in orde, wat doe ik verkeerd / zou ik moeten doen om dit werkend te krijgen?