Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: File Download geht nicht

  1. #1
    HTML Newbie
    Registriert seit
    23.06.2010
    Beiträge
    8
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Ausrufezeichen File Download geht nicht

    Hallo,

    kann mir bitte jemand bei meinem Problem helfen?
    Ich lese aus einem Verzeichnis Dateien aus und möchte die als Link zum Download ausgeben. Das Funktioniert soweit auch schon. Jetzt möchte ich das erstellungsdatum der Datei (sind PDF Dateien) auslesen und nach diesem Datum absteigend sortieren.Habe dazu auch schon hier Hilfe erhalten. Aber was jetzt nicht mehr geht ist der Download. Steh grad echt im Wald... ...
    Obwohl meiner Meinung nach der Pfad Stimmen sollte bekomme ich die Meldung "Die Datei wird nicht gefunden"....

    Poste hier am besten mal ein bischen Code zum besseren Verständnis:

    PHP-Code:


    session_start
    ();

    include(
    "../config.php");

    logincheck();

    $uid $_SESSION['uid'];
    $pwd $_SESSION['pwd'];

    $result mysql_query("select * from users where uid='$uid' and pwd='$pwd'");
    $users mysql_fetch_assoc($result);


    ############ Download starten ############
    if(isset($_GET['download']))
    {
        
    $file_p "./private/".$users['ah_kdnr']."/p/".$_GET['download'];

        
    $file_u './private/'.$users['ah_kdnr'].'/u/'.$_GET['download'];

        if(!
    preg_match("/^[a-zA-Z0-9-_\W]*\.[a-zA-Z0-9_]*$/"$_GET['download']) || $_GET['download']==".htaccess" || !file_exists($file_p))
        {
            echo 
    "<Script>alert('Die Datei wurde nicht gefunden!')</script>";
            echo 
    "<Script>history.back();</script>";
            exit();
        }

        if(!
    preg_match("/^[a-zA-Z0-9-_\W]*\.[a-zA-Z0-9_]*$/"$_GET['download']) || $_GET['download']==".htaccess" || !file_exists($file_u))
        {
            echo 
    "<Script>alert('Die Datei wurde nicht gefunden!')</script>";
            echo 
    "<Script>history.back();</script>";
            exit();
        }

        
    session_write_close();


        
    ######### Herunterladen
        
    header("Pragma: no-cache");
        
    header("Expires: -1");
        
    header("Cache-Control: no-store, no-cache, must-revalidate, post-checked=0, pre-checked=0");
        
    header("Content-Type: application/force-download");
        
    header("Content-Type: application/pdf");
        
    header("Content-Type: application/download");
        
    header("Content-Description: File Transfer");
        
    header('Content-Length: ' filesize($file));
        
    header('Last-Modified: ' gmdate("D, d M Y H:i:s") . "GMT");
        
    header('Content-Disposition: attachment; filename="'.$_GET['download'].'"');
        
    header("Content-Transfer-Encoding: binary");

        
    readfile($file);
        exit();
    }


    ############ Downloads auflisten ############
    //Standardtext
    $filebuffer_p "Derzeit sind leider keine Downloads verf&uuml;gbar!";

    $filebuffer_u "Derzeit sind leider keine Downloads verf&uuml;gbar!";

    //Dateiendungen ausschließen:
    $hidefiles "htaccess|php|php3|php4|php5| ";

    //Dateien aus Ordner überprüfen

    $dir_p opendir('./private/'.$users['ah_kdnr'].'/p/');
    $dir_u opendir('./private/'.$users['ah_kdnr'].'/u/');

    $new_files_p = array();
    $new_files_u = array();

    while(
    $file_p readdir($dir_p))
    {
        if(
    $file_p!='..' && $file_p!='.' && !preg_match("/\.(".$hidefiles.")$/i"$file_p))
        {
            
    $new_files_p[] = $file_p;
        }
    }
    closedir($dir_p);

    while(
    $file_u readdir($dir_u))
    {
        if(
    $file_u!='..' && $file_u!='.' && !preg_match("/\.(".$hidefiles.")$/i"$file_u))
        {
            
    $new_files_u[] = $file_u;
        }
    }
    closedir($dir_u);


    ###########Datum sortieren##############

    foreach(glob("./private/".$users['ah_kdnr']."/p/*") as $path_p) {
        
    $docs_p[$path_p] = filemtime($path_p);
    arsort($docs_p);

    foreach(
    glob("./private/".$users['ah_kdnr']."/u/*") as $path_u) {
        
    $docs_u[$path_u] = filemtime($path_u);
    arsort($docs_u);


    //Alle Downloads auflisten

    if(count($new_files_p)>=1)
    {
        
    $filebuffer_p "";

        foreach (
    $docs_p as $path_p => $docs_p)
        {
            
    $filebuffer_p .= '<tr><th><a href="'.BASEHREF.'/useraccount/index.php?download='.basename($path_p).'">'
            
    .preg_replace(array("/\.[0-9A-Za-z_]*$/""/[\.|-|_]/"), " ", ($path_p))
            .
    '</a></th><td>'.gmdate("d. M. Y H:i:s"$docs_p).'</td><td class="currency">Größe: &nbsp;'.filesize($path_p).' KB '.'</td></tr>';
        }
    }

    if(
    count($new_files_u)>=1)
    {
        
    $filebuffer_u "";

        foreach (
    $docs_u as $path_u => $docs_u)
        {
            
    $filebuffer_u .= '<tr><th><a href="'.BASEHREF.'/useraccount/index.php?download='.basename($path_u).'">'
            
    .preg_replace(array("/\.[0-9A-Za-z_]*$/""/[\.|-|_]/"), " "basename($path_u))
            .
    '</a></th><td>'.gmdate("d. M. Y H:i:s"$docs_u).'</td><td class="currency">Größe: &nbsp;'.filesize($path_u).' KB '.'</td></tr>';
        }

    Im HTML wird das dann über

    <?php echo $filebuffer_p; ?>

    und

    <?php echo $filebuffer_u; ?>

    aufgerufen.

    Es wird mir auch alles vernünftig angezeigt....aber irgendwas stimmt mit dem Link nicht.....

    Hoffe das ist soweit verständlich...bin noch neu hier...

    Bin dankbar für jede Hilfe
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard AW: File Download geht nicht

    Hast du mal ein paar Beispiele für uns? Den HTML-Code, der ausgegeben wird?
    Something big is coming. And there will be pirates and ninjas and unicorns...

  3. #3
    HTML Newbie
    Themenstarter

    Registriert seit
    23.06.2010
    Beiträge
    8
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: File Download geht nicht

    Hallo Dodo,

    im HTML Quelltext wird der Link ausgegeben...habe im ersten Link den basename nicht mit angegeben um den pfad sehen zu können. Ich vermute mein Problem liegt im oberen abschnitt bei

    PHP-Code:
    if(isset($_GET['download'])) 
    .... dann bei....

    PHP-Code:
    if(!preg_match("/^[a-zA-Z0-9-_\W]*\.[a-zA-Z0-9_]*$/"$_GET['download']) || $_GET['download']==".htaccess" || !file_exists($file_p)) 
        { 
            echo 
    "<Script>alert('Die Datei wurde nicht gefunden!')</script>"
            echo 
    "<Script>history.back();</script>"
            exit(); 
        } 
    wenn ich das rauslasse funzt der donwload...

    hier der ausgegebene Quelltext:
    Code:
     <tfoot>
    <tr>
    <tr><th><a  href="http://localhost/ms_login_base/useraccount/index.php?download=Test  Download 2.txt"> /private/0/p/Test Download 2  </a></th><td>09. Jun. 2010 11:59:48</td><td  class="currency">Größe: &nbsp;85 KB </td></tr>         </tr>
    </tfoot>
    
    .
    .
    .
    Code:
     <tfoot>
    <tr>
    <tr><th><a  href="http://localhost/ms_login_base/useraccount/index.php?download=Neue  Datenbank.odb">Neue Datenbank </a></th><td>09.  Mar. 2010 16:05:22</td><td class="currency">Größe:  &nbsp;2675 KB </td></tr><tr><th><a  href="http://localhost/ms_login_base/useraccount/index.php?download=falt_ddlaufdl_hoch_mass_3.pdf">falt  ddlaufdl hoch mass 3 </a></th><td>05. Nov. 2009  11:37:15</td><td class="currency">Größe: &nbsp;99007 KB  </td></tr><tr><th><a  href="http://localhost/ms_login_base/useraccount/index.php?download=falt_ddlaufdl_hoch_mass.pdf">falt  ddlaufdl hoch mass </a></th><td>05. Nov. 2009  11:37:15</td><td class="currency">Größe: &nbsp;99007 KB  </td></tr></tr>
    </tfoot>
    

  4. #4
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard AW: File Download geht nicht

    Die Abfrage besteht aus drei Teilen.

    Mach mal Folgendes:
    1) Lösche !preg_match("/^[a-zA-Z0-9-_\W]*\.[a-zA-Z0-9_]*$/", $_GET['download']) || aus der Abfrage.
    2) Prüfe ob es funktioniert
    3.1) Wenn ja: Melde das hier im Forum && Ende
    3.2) Wenn nein: Gib es wieder hinein und lösche || $_GET['download']==".htaccess" aus der Abfrage
    4) Prüfe, ob es funktioniert
    5.1) Wenn ja: Melde es hier im Forum && Ende
    5.2) Wenn nein: Gib es wieder hinein und lösche || !file_exists($file_p) aus der Abfrage
    6) Prüfe, ob es funktioniert
    7.1) Wenn ja: Melde es hier im Forum
    7.2) Wenn nein: Melde es hier im Forum
    Something big is coming. And there will be pirates and ninjas and unicorns...

  5. #5
    HTML Newbie
    Themenstarter

    Registriert seit
    23.06.2010
    Beiträge
    8
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: File Download geht nicht

    Danke für die schnelle Antwort.

    Wenn ich
    PHP-Code:
    || !file_exists($file_p
    entferne geht es....

    Jetzt vermute ich das ich wohl einen Denkfehler habe und das mit der Variablen docs_p ersetzen könnte....??

  6. #6
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard AW: File Download geht nicht

    Lass dir mal $file_p ausgeben und überprüfe manuell ob sie existiert.
    Wenn nicht: Suche den Fehler in dem Pfad.
    Something big is coming. And there will be pirates and ninjas and unicorns...

  7. #7
    HTML Newbie
    Themenstarter

    Registriert seit
    23.06.2010
    Beiträge
    8
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: File Download geht nicht

    Also...ich habe jetzt folgendes festgestellt:

    1. file_p existiert nicht...da es in dem Array new_files steht....

    2. in echo $docs_p wird mir die unformatierte Zeit ausgegeben

    3. echo $path_p gib mir folgendes aus ./private/0/p/Test Download.txt

    4. Der Download geht zwar aber die Daten werden nicht wirklich heruntergeladen da ich in

    PHP-Code:
    readfile($file

    natürlich nix stehen hab.... hab ich übersehen.....

    und nun bin ich vollkommen verwirrt....HELP....

  8. #8
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard AW: File Download geht nicht

    PHP-Code:
    $file_p "./private/".$users['ah_kdnr']."/p/".$_GET['download']; 
    Existiert diese Datei?
    Bitte beachte dass "./" für das aktuelle Verzeichnis steht. Das Verzeichnis, in dem das Script liegt.
    Something big is coming. And there will be pirates and ninjas and unicorns...

  9. #9
    HTML Newbie
    Themenstarter

    Registriert seit
    23.06.2010
    Beiträge
    8
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: File Download geht nicht

    Aaaalso....ich habe mein Script in dem Verzeichnis useraccount...in dem Verzeichnis useraccount liegt dann das Verzeichnis private und die Unterordner in dem Verzeichnis private....sollte dann nach meinem Verständnis richtig sein...

    Habe gesehen das ich einen warnhinweis in meiner Datei nach dem Download stehen hab....das liegt dann wohl nun an readfile schätze ich:

    Beispiel:
    Code:
    Warning: readfile(./private/0/p/Neue Datenbank.odb) [function.readfile]: failed to open stream: No such file or directory in C:\xampp\htdocs\ms_login_base\useraccount\index.php on line 59
    Sorry wenn ich mir ein wenig umständlich ausdrücke....aber bin eben kein PHP spezialist und das ist für mich sozusagen learning bei doing...

    Es liegt meiner Meinung nach nun irgendwie an der übergabe oder auslesen der Verzeichnisstruktur....und ich hab voll das Brett vor dem Kopf....

  10. #10
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard AW: File Download geht nicht

    "No such file or directory"

    Wenn du dir wirklich zu 100% sicher bist, dass diese Datei existiert, versuche Dateien ohne Leer- und Sonderzeichen zu verwenden.
    Something big is coming. And there will be pirates and ninjas and unicorns...

Ähnliche Themen

  1. file:///c| funktioniert nicht
    Von martinfre im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 6
    Letzter Beitrag: 21.04.2008, 16:01
  2. Bei input Text mit Barcode-Scanner geht Download Fenster auf
    Von csigg im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 0
    Letzter Beitrag: 04.01.2008, 12:36
  3. Kann JPG-File nicht öffnen!
    Von TomTom im Forum Forum für Grafiken und Bildbearbeitung
    Antworten: 11
    Letzter Beitrag: 22.08.2007, 21:17
  4. möchte html file in tabelle laden. wie geht das?
    Von ini im Forum HTML & CSS Forum
    Antworten: 0
    Letzter Beitrag: 19.10.2004, 10:11
  5. Bilder zum Download anbieten aber geht nicht
    Von im Forum HTML & CSS Forum
    Antworten: 2
    Letzter Beitrag: 24.12.2003, 16:55

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •