[PHP] Problem mit Download Funktion

hey ho ich hab mir gerade ne Download Funktion geschrieben…

[code]function downloadFile($file) {

$filename = basename($file);

header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Description: File Transfer");

header("Content-Disposition: attachment; filename=\"$filename\";");

header("Content-Transfer-Encoding: binary");

@readfile($file);


exit;

}[/code]

So das Funktioniert eigentlich ganz gut…
nur ich weiß nicht wie ich das erklären soll
Ich hab eingentlich nur .exe datein die ich da zum Downloaden anbiete.
und die Funktionieren dann einfach nicht…
hier mal ein Beispiel…
http://www.digital.bplaced.net/Hp/index.php?downloads-2
das soll die Encrypter.exe herunterladen
Hier der link zu der Datei Direkt damit ihr das Vergleichen könnt.
http://www.digital.bplaced.net/downloads/Encrypter.exe

und wen ich die datei dann heruntergeladen hab ist erstens das ICON nicht da und das Programm wird in der Dos Zeile geladen…
wisst ihr woran das liebt???

Lg Digital

[quote=“digital”]Hier der link zu der Datei Direkt damit ihr das Vergleichen könnt.
http://www.digital.bplaced.net/downloads/Encrypter.exe[/quote]
Da da nur ein 403-Dokument kommt, taugt das zum vergleichen nicht so sonderlich toll.

ips vergessen das da immer nen Zufalls Code in die htaccess geschrieben wird sorry ^^
so jettz müsste gehen
sonst mal strg+f5 drücken ^^

Die Dateien sind auf den ersten Blick identisch, bis auf den kleinen aber gravierenden Unterschied, dass bei der per Script heruntergeladenen Version 0A 0A (hexadezimal) am Anfang steht - also zwei Zeilenumbruchzeichen, die vermutlich dein Script ausgibt (z.B. Leerzeilen vor <?php).

Das hättest du übrigens eigentlich auch gut selber herausfinden können, oder?

ja das das unterschiedlich ist hab ich auch bemerkt ^^

Ok hab jetzt auch den Fehler Gefunden…
hatte in mein Include wirklich 2 ZeilenUmbrüche^^
eigentlich hätte des eh nen Fehler von Tidy und so auslösen sollen…
nur benutze ich ob_start() und so deshalb hab ich es nicht gemerkt.^^
Vielen Dank jetzt klappt es