• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

binäre Dateiausgabe

Marko10_000

Neues Mitglied
Ich hab leider ein ziemliches problem mit file.php
PHP:
<?php
function Downloud($RDatei, $Datei, $FileTyp)
{
    //Es ist eine Datei
    header('Content-type: ' . $FileTyp);
    //Downloudname
    header('Content-Disposition: attachment; filename="' . $Datei. '"');
    //Richtige Datei ausgeben
    $Datei = fopen($RDatei, "r");
    echo fread($Datei, filesize($RDatei));
    fclose($Datei);
}
function Start()
{
    if(!isset($_GET["file"]))
    {
        header("HTTP/1.0 404 Not Found");
        return;
    }
    if(is_link("Files\\" . $_GET["files"] . ".XML"))
    {
        header("HTTP/1.0 404 Not Found");
        return;
    }
    $xml = simplexml_load_file("Files\\" . $_GET["file"] . ".XML");
    Downloud($xml->RealFile, $xml->FileName, $xml->FileTyp);
    return;
}
Start();
?>
Was ist das:
Ein PHP script um Dateien über PHP zu downlouden.

Wo liegt das Problem:
Ich hab was gezipt(auch geschaut obe das Achive auf geht) und gedownloudet. Leider ging es nicht zu öffnen =(
 
Zuletzt bearbeitet:
Das Script arbeitet mit XML-Dateien. Hast Du eine solche XML-Datei angelegt?

Und: woher hast Du das Script? Frag im Zweifelsfall den der das verbreitet.
 
Die XML Datei gibts. Die ausgabe ist auch richtig(die datei heißt in echt 0000000000.file und wird also Hallo.zip ausgeben).
Der Clew:
Es war nur über den Header geschrieben worden. Mit Firebug(FireFox Add-on) konnte ich ihn einsehen und hab mich dann mit ihm bertraut gemacht. Nun ist das Problem so dass wohl keine Binäre sachen ausgeben werden. Kann jemand einen Cood geben wo
PHP:
$Datei = fopen($RDatei, "r");
echo fread($Datei, filesize($RDatei));
fclose($Datei);
Binäre Zeichen auch ausgeben werden.
</span></span>
 
Ha, habs hinbekommen. Jetzt könnte man zum teil schon damit arbeiten. Ihr werden dann immer den aktuellen Source bekommmen.
Hate lange gedauert bis ich es gelöst habe. Hier ist er:
PHP:
<?php
function Downloud($RDatei, $Datei, $FileTyp)
{
    //Dateiname
    header('Content-type: ' . $FileTyp); //Dateityp
    header('Content-Disposition: attachment; filename="' . $Datei. '"'); //Umbennen
    header('Content-Length: ' . filesize($RDatei)); 
    //Richtige Datei ausgeben
    $Datei = fopen($RDatei, "rb");
    echo fread($Datei, filesize($RDatei));
    fclose($Datei);
}
function Start()
{
    if(!isset($_GET["file"]))
    {
        header("HTTP/1.0 404 Not Found");
        return;
    }
    if(!file_exists("Files/" . $_GET["files"] . ".XML"))
    {
        header("HTTP/1.0 404 Not Found");
        return;
    }
    $xml = simplexml_load_file("Files/" . $_GET["file"] . ".XML");
    Downloud("Files/" . $xml->RealFile, $xml->FileName, $xml->FileTyp);
    return;
}
Start();
?>
 
Zurück
Oben