magischer download ohne pfad?

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

  • magischer download ohne pfad?

    hallo benutze folgendes script für n download ->


    PHP-Code:
    if(isset($dl) AND preg_match("/^[a-zA-Z0-9]{16}$/",$dl)):
    $get_dl_properties mysql_query("SELECT * FROM download_management WHERE kdnr = '".$userinfo['kdnr']."' AND auftrags_nr = $nr AND code_name = '$dl'");
    if(
    $get_dl_properties):
        
    $get_dl mysql_fetch_array($get_dl_properties);

        
    $save_as_name str_replace(" ","_",$get_dl['org_name'].$get_dl['extension']);
        
    $kdn_string $userinfo['kdnr']."/".$nr;
        
    $basedldir "/***muß ja nicht jeder sehen****/".$kdn_string."/";
        
    $dl_file $basedldir.$userinfo['kdnr']."-".$nr."-".$dl."-".$get_dl['extension'];
    endif;

    header("Content-Type: application/octet-stream");
    header("Content-Disposition: attachment; filename=\"$save_as_name\"");
    readfile($dl_file);

    endif; 
    aber jetzt was ganz komisches (der download klappt) aber! .... wenn ich jetzt die readfile auskommentiere fkt der download immer noch ??????

    wie den das? der save_as_name laute "download.txt" z.b wie findet er den die datein ohne pfad -> die steht ja nur in $dl_file ??? was gehden hier ab? oder mach ich da wat false?

    zu hülf

  • #2
    du sendest vorher einen Header, wodurch der Browser angewiesen wird,
    das folgende als Datei "..." zuu speichern.
    Schau doch mal in die Datei rein, da wird dann nur die PHP Fehlermeldung
    "File not found - error in line ..." oder sowas drin stehen
    TBT

    Die zwei wichtigsten Regeln für eine berufliche Karriere:
    1. Verrate niemals alles was du weißt!


    PHP 2 AllPatrizier II Browsergame

    Kommentar


    • #3
      ich checks nicht ganz in der datei steht der quelltext der seite die ich für den download aufgerufen habe? was soll das den?

      Kommentar


      • #4
        weil du eben den header sendest, und das wars ...
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          ähhh, ja ...... ist mir schon klar aber was muß ich machen das er anstatt den den quelltext meiner seite die datei ausliest?

          Kommentar


          • #6
            readfile nicht auskommentieren?
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Original geschrieben von mrhappiness
              readfile nicht auskommentieren?
              und wenn doch, auch die header() weg machen...
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                ok jetzt ist der inhalt der txt korrekt aber nach dem korrekten inhalt kommt wieder der quelltext der seite? was n spaß wie kann ich das jetzt verhindern?

                Kommentar


                • #9
                  PHP-Code:
                  exit; 
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    yippieeehh das klappt? komisch ich dachte immer mit exit; wird das komplette script geexitet -> ist aber alles noch so wie soll? muß wohl mit dem header irgendwie zusammen hänger ?! hmm egal muß ich nicht wissen

                    danke schnell und exakt wie immer

                    Kommentar


                    • #11
                      Original geschrieben von frank7l7
                      yippieeehh das klappt? komisch ich dachte immer mit exit; wird das komplette script geexitet [...]
                      wird es ja auch...

                      für den download startest du das script ja quasi ein zweites mal....
                      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                      Kommentar


                      • #12
                        ach eines hat ich noch vergessen zu fragen ist diese methode mit header und dem octet stream gedöns sicher -> ich meine funktioniert das immer weil sonst müßte ich noch eine alternativ download link anbieten und das wäre nicht so toll weil da kann man ja den pfad erkennen

                        Kommentar


                        • #13
                          es sollte klappen. habe bisher nichts anderes gehört/gemerkt...
                          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                          Kommentar


                          • #14
                            das ist gut und sicher dann -> prima freu heut ist ein guter tag zum coden

                            Kommentar


                            • #15
                              Hallo, ich habe das jetzt auch einmal ausprobiert, allerdings habe ich noch zusätzlich eingebaut, dass der Download nach 5 Sekunden automatisch starten soll.

                              das Ganze mache ich mit

                              <meta http-equiv='refresh' content='5; url=files.php?file=xyz&option=download&proceed=1'>
                              Um den Download sofort zu starten habe ich alternativ einen Downloadbutton, der mit den selben Variablen zu der Stelle im Script verweist wo der Header ausgegeben werden soll.

                              Im Internetexplorer habe ich nun das Problem, dass er beim "automatischen Download-Start nach 5 Sekunden" versucht die PHP-Datei ("files.php") herunterzuladen. Beim Klick auf den "Sofort-DL-Button" funktioniert es problemlos.

                              Hier mal die entsprechende Headerausgabe (es werden nur ZIP-Files runtergeladen):

                              PHP-Code:
                              header("Content-Type: application/x-zip");
                              header("Content-Disposition: attachment; filename=\""basename($download['filelink']) ."\"");
                              readfile($_SERVER['DOCUMENT_ROOT'] . $download['filelink']);

                              exit; 
                              Die Variablen stimmen alle, auch beim automatischen Download. Mir ist das irgendwie ein Rätsel. Im Firebird funtzt zum Beispiel alles problemlos. Ich hoffe jemand hat da eine Erklärung für.

                              regards
                              Smiller

                              Kommentar

                              Lädt...
                              X