Sprint
Erfahrenes Mitglied
Hallo zusammen,
ich habe hier ein kleines Script, das eine einzelne Datei herunterlädt. Nun soll das so erweitert werden, daß alle Dateien eines Ordners mit einem Mal geladen werden. Allerdings wird immer nur eine Datei geladen und dann gibt mir der Server die Meldung "Cannot modify header information - headers already sent by ..."
So sieht die Routine im Moment aus:
Ist es möglich, daß das Script alle entsprechenden Dateien auf ein Mal lädt, oder muß ich die Dateien in eine zip Datei packen, um nur eine Datei zu laden?
ich habe hier ein kleines Script, das eine einzelne Datei herunterlädt. Nun soll das so erweitert werden, daß alle Dateien eines Ordners mit einem Mal geladen werden. Allerdings wird immer nur eine Datei geladen und dann gibt mir der Server die Meldung "Cannot modify header information - headers already sent by ..."
So sieht die Routine im Moment aus:
PHP:
function downFile($zieldatei){
if ($fd = fopen ($zieldatei, "r")) {
$fsize = filesize($zieldatei);
header("Content-type: application/octet-stream");
header('Content-Disposition: attachment; filename="'.basename($zieldatei).'"');
header("Content-length: $fsize");
while(!feof($fd)) {
$buffer = fread($fd, 2048);
echo $buffer;
}
}
fclose ($fd);
return;
}
$dateiliste = array();
if ($handle = @opendir("../lager/".$kdnr.'/'.$pid.'/')){
while ($file = readdir($handle)){
if (substr($file, 0, 32) == strtoupper(md5($pid)) && substr($file, 32, 3) != '-NP'){
$quellpfad = $_SERVER["DOCUMENT_ROOT"].'/lager/'.$kdnr.'/'.$pid.'/';
$quelldatei = $quellpfad.$file;
downFile($quelldatei);
}
}
}
die();