FTP Datei Download funktioniert nicht

loki2002

Erfahrenes Mitglied
Hallo,

irgendwie klappt mein ftp datei-download script nicht, d.h connect etc findet alles statt also ich kann uploaden etc, nur beim download bekomme ich immer leere Dateien.. (*.zip) ich nehme mal an das was mit den mime types nicht stimmt, oder gar mit den header zeugs..mit application/zip hatte ich es auch schon probiert, aber kein erfolg..

hier ist der auszug der download funktion (den ganzen ftp_connect etc salat lass ich jetzt mal hier draussen):

PHP:
header("Content-disposition: attachment; filename=\"$file\"");
header("Content-type: application/octetstream");
header("Pragma: no-cache");
header("Cache-Control: private");
header("Expires: 0");

$fp = fopen($downloadDir . $file, "w");
ftp_fget($connection,$fp,"$file",FTP_BINARY);
fclose($fp);
$data = readfile($downloadDir . $file);
$i=0;
while ($data[$i] != "")
{
echo $data[$i];
$i++;
}
unlink($downloadDir . $file);
exit;
 
Zuletzt bearbeitet:
Hm, readfile gibt ja meines Wissens nach den Dateiinhalt aus und gibt nur die Anzahl der gelesen Bytes zurück.

Probier's vielleicht mal so:

PHP:
header("Content-disposition: attachment; filename=\"$file\"");
header("Content-type: application/octet-stream");
// ich hatte immer das '-' bei octet-strem drin, keine ahnung
//   was da jetzt dem standard entspricht...
header("Pragma: no-cache");
header("Cache-Control: private");
header("Expires: 0");

// ftp_get: macht manuelles öffnen der datei überflüssig
ftp_get($connection, $downloadDir.$file, $file, FTP_BINARY);
// sicher ist sicher... content-length header mitschicken:
header("Content-length: ".filesize($downloadDir.$file));
// ausgabe der datei:
readfile($downloadDir.$file);
unlink($downloadDir.$file);
 
Danke @reima.

..nein, die mime types wie zb. octet-stream funktionieren irgendwie nicht mehr mit den neueren browsern.. octetstream war schon richtig.

Leider funktioniert es auch nicht mit deinem beispiel, aber ich glaube das es daran liegen koennte, das ich bisher ohne 'TEMP' dir gearbeitet habe (ich wurde erst jetzt darauf aufmerksam gemacht, das es eigentlich mehr oder weniger notwendig sei, eine solche dir anzulegen, macht ja auch irgendwie sinn, oder?), ich sollte diese doch mal reinpacken :-) ... oder das ganze total anderers realiesieren.

aber trotzdem Vielen Dank.
:)
 
Zurück