Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem bei readfile() und EXE

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem bei readfile() und EXE

    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.



    PHP:--------------------------------------------------------------------------------
    echo "abfrage.php?download=".$file;

    --------------------------------------------------------------------------------

    Die zweite Datei (abfrage.php) sieht so aus:


    PHP:--------------------------------------------------------------------------------
    <?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");
    }
    ?>

    --------------------------------------------------------------------------------

    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 ?

  • #2
    bitte schliessen, es lag an Zeichenumbruch außerhalb der php-Tags in checkuser.php.

    Kommentar

    Lädt...
    X