Hi,
mal wieder ein Problem.
Ich hab einen Datei Download mit einer Weiterleitung zu der Datei download.php realisiert. Das klappt auch alles wunderbar, nur ist die Datei, die man runterläd genau um 1 bit nach rechts verschoben und das erste Zeichen ist ein Leerzeichen (ASCII 20).
Woran kann das liegen?
So sieht der Aufruf von download.php aus:
Und die Datei selbst:
Die Datei liegt richtig im Verzeichnis und die Werte von filesize() und readfile() sind identisch, also die Größe der Datei scheint zu stimmen.
Verzichte ich auf die download.php und gebe direkt den Link der Datei aus und speichere mit "speichern unter..." die Datei, so stimmt die Datei die runtergeladen wird.
Jemand ne Idee, woran das liegen kann??
mal wieder ein Problem.
Ich hab einen Datei Download mit einer Weiterleitung zu der Datei download.php realisiert. Das klappt auch alles wunderbar, nur ist die Datei, die man runterläd genau um 1 bit nach rechts verschoben und das erste Zeichen ist ein Leerzeichen (ASCII 20).
Woran kann das liegen?
So sieht der Aufruf von download.php aus:
PHP-Code:
header('refresh: ' . $sec . '; url=/upload/download.php');
PHP-Code:
<?php
// wird benötigt, damit dies auch beim IE funktioniert.
session_cache_limiter("private_no_expire, must-revalidate");
session_cache_expire(0);
session_start();
$file_path = DIR_TEMP.basename(session_id().".sig");
$file_name = $_SESSION["download_name"];
if(file_exists($file_path)) {
header ("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header ("Content-Type: application/octet-stream");
//header('Content-type: application/force-download');
header('Content-Transfer-Encoding: Binary');
header('Content-length: '.filesize($file_path));
header('Content-disposition: attachment;filename="' . $file_name . '"');
readfile($file_path);
unlink($file_path);
}
else {
echo 'Die Datei wurde nicht gefunden.';
}
Verzichte ich auf die download.php und gebe direkt den Link der Datei aus und speichere mit "speichern unter..." die Datei, so stimmt die Datei die runtergeladen wird.
Jemand ne Idee, woran das liegen kann??
Kommentar