Hallo,
Ich habe eine EXE oberhalb des public_html - Verzeichnisses und will diese Datei per PHP speichern.
Dazu lese ich alle Dateien des Verzeichnisses aus und erzeuge Links, die eine zweite Datei aufrufen und den Dateinamen als Parameter enthalten.
Die zweite Datei (abfrage.php) sieht so aus:
Wenn ich nun auf den Link klicke und die Datei speichere, wird in die Datei in die erste Zeile ein CR/LF eingefügt und die EXE damit nicht mehr ausführbar:
Normal:
" MZ ÿÿ ¸ @ È º ´ Í! ..."
Nach Download:
"
MZ ÿÿ ¸ @ È º ´ Í! ... "
OS ist Suse Linux 7.3, PHP Version 4.3.6
Irgend jemand eine Idee, woran es liegen könnte ?
Ich habe eine EXE oberhalb des public_html - Verzeichnisses und will diese Datei per PHP speichern.
Dazu lese ich alle Dateien des Verzeichnisses aus und erzeuge Links, die eine zweite Datei aufrufen und den Dateinamen als Parameter enthalten.
PHP-Code:
echo "abfrage.php?download=".$file;
PHP-Code:
<?php
include("../checkuser.php");
if ($_GET['download'] <> '')
{
$download = $_GET['download'];
$pfad = $_SESSION["user_name"];
$basedir = "/home/xyz/$pfad";
$filename = sprintf("%s/%s",$basedir,$download);
$save_as_name = basename($download);
header("Pragma: public");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=".$save_as_name.";");
@readfile("$filename");
}
?>
Normal:
" MZ ÿÿ ¸ @ È º ´ Í! ..."
Nach Download:
"
MZ ÿÿ ¸ @ È º ´ Í! ... "
OS ist Suse Linux 7.3, PHP Version 4.3.6
Irgend jemand eine Idee, woran es liegen könnte ?
Kommentar