Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Bild downloaden ohne anzuzeigen

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Bild downloaden ohne anzuzeigen

    Hey,
    ich möchte durch Button Klick ein Bild downloade, also so das es nicht angezeigt wird. Habe diesen PHP Code:

    PHP-Code:
    <?php 
    Header
    ('Content-Type: image/pjpeg');
    Header("Content-Disposition: attachment; filename=5.JPG");
    readfile("upload/5.JPG");
    ?>
    Der Funktioniert auch solange er alleine in einer Datei steht, aber ich hätte ihn gerne hier stehen:

    PHP-Code:
                                                if ($_POST
                                                {
                                                     
    $query2 "UPDATE files Set hits='$hits_new' WHERE id = '$id'";
                                                    
    $update mysql_query($query2);
                                                    
                                                    
    Header('Content-Type: image/jpeg');
    Header("Content-Disposition: attachment; filename=$url");
    readfile("$url");
                                                
                                                }
                                                 
    ?> 
    Warum funktioniert das ganze so nicht? Sobald ich auf den Button klicke wird danach nur so etwas angezeigt:

    Code:
    ����JFIF``���ExifMM*; J�iT����
    Vielen Dank schonmal


  • #2
    Wird vor dieser Zeile etwas asugegeben oder andere Header gesendet?

    Kommentar


    • #3
      Hey,
      ich habe nur diesen Header in der Datei außer eben meta Angaben und <!DOCTYPE html ....
      ja vor der Zeile steht der ganze HTML Code und eben die query ...

      Kommentar


      • #4
        Wenn ich mich nicht irre, sollen einige Funktionen (und header() auch) nur dann aufgerufen werden, wenn es noch keine Ausgabe an den Client passiert ist.

        Kommentar


        • #5
          Der erste header (erste Codebox) sieht auch anders aus, als der Zweite.
          http://hallophp.de

          Kommentar


          • #6
            Hey,
            da hast du recht Da der 1. Header in einer einzelnen Datei ist der 2. in einer bei der ich Variablen benutze. Ich kann aber auch den 2. an den 1. anpassen funktionieren tut es trotzdem nicht. Gibt es noch eine andere Möglichkeit als Header ?

            Kommentar


            • #7
              Die Lösung sollte eigentlich schon der Hinweis von waldicom sein.
              Es darf kein HTML und auch nichtmal eine Leerzeile (außerhalb der PHP-Tags) vor dem Header stehen.
              Dann sollte es eigentlich funktionieren. Mache ich ähnlich, allerdings mit RAR-Dateien, aber das unterscheidet sich eigentlich nur im Content-Type.
              Competence-Center -> Enjoy the Informatrix
              PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

              Kommentar


              • #8
                Mir erschließt sich nicht, wieso es mit dem ersten Script klappt und mit der geänderten Version nicht.

                Hast du mal
                Code:
                <?php
                error_reporting(E_ALL | E_STRICT);
                ini_set('display_errors', 1);
                an den Anfang deiner Datei geschrieben? Eventuell erfolgt ja doch eine Ausgabe, bevor die header gesendet werden.

                Ansonsten hätte ich noch eine Frage: Wieso lässt du die User das Bild nicht einfach über "Rechtsklick" -> "Bild speichern unter..." herunterladen?
                http://hallophp.de

                Kommentar


                • #9
                  Mir erschließt sich nicht, wieso es mit dem ersten Script klappt und mit der geänderten Version nicht.
                  Er sagt selbst, daß er HTML-Code vor dem Header hat:
                  Hey, ich habe nur diesen Header in der Datei außer eben meta Angaben und <!DOCTYPE html ....
                  ja vor der Zeile steht der ganze HTML Code
                  und eben die query ...
                  Daher wirds nicht funktionieren, denke ich...
                  Competence-Center -> Enjoy the Informatrix
                  PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                  Kommentar


                  • #10
                    Ups, ja, richtig, überlesen...
                    http://hallophp.de

                    Kommentar


                    • #11
                      Hey,
                      ja es erfolgt eine Ausgabe vor dem Header, das habe ich ja schon alles verstanden. Meine Frage war deshalb ob es auch eine andere Methode gibt, damit ich keine extra Datei dafür machen muss ...

                      Kommentar


                      • #12
                        Lass das ganze HTML einfach weg. Die Seite wird eigentlich nicht verlassen, sondern es wird lediglich vom Browser ein Fenster für das Downloadprotokoll geöffnet.
                        http://hallophp.de

                        Kommentar


                        • #13
                          Zitat von sdcleitung Beitrag anzeigen
                          ... Meine Frage war deshalb ob es auch eine andere Methode gibt, damit ich keine extra Datei dafür machen muss ...
                          Ja, es gibt mindestens eine andere Methode, wie man das machen kann, diese ist aber umständlich und in normalen Fällen nicht zu empfehlen.

                          Kommentar


                          • #14
                            Hey,
                            ich glaube ihr habt das nicht richtig verstanden, vor dem Header steht schon mehr wie nur die meta angaben und so, der ganze HTML Inhalt (Buttons, Formulare ...)

                            Kommentar


                            • #15
                              Na dann weich für den Download auf ne andere Datei um.
                              Wie Asipak schon angesprochen hat wird die Seite im Prinzip nicht verlassen, sondern nur das Downloadfenster angezeigt...
                              Competence-Center -> Enjoy the Informatrix
                              PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                              Kommentar

                              Lädt...
                              X