Externes Bild in php ausgeben

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

  • Externes Bild in php ausgeben

    Hallo, diese Function liefert mir eine Bildurl aus der DB und bietet mir dann folgendes ungeeignetes zum Download:
    Code:
    ÁRÑð$3br‚	
    %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùú
    Ich möchte allerdings ein Bild angezeigt bekommen.
    Weiß jemand Rat?

    PHP-Code:
    <?php
    function picit($artnr){
      
    $server 'localhost';
    $datenbank 'nutzer';
    $benutzer 'nutzer';
    $passwort '******';
    // Verbindung herstellen / einloggen
    $verbindung mysql_connect($server,$benutzer,$passwort)
        or die (
    "Verbindungsaufnahme mit MySQL-Server fehlgeschlagen!<br>");
    // Datenbank auswählen
    mysql_select_db($datenbank$verbindung)
        or die (
    "Verbindungsaufnahme mit Datenbank fehlgeschlagen<br>");
        
    $sql "SELECT *  FROM `test` WHERE artnr=$artnr ";
    if(!
    $artnr){$sql "SELECT * FROM `test`ORDER BY `pics` DESC LIMIT 0 ,1";}
    $result mysql_query($sql);
    $row mysql_fetch_assoc($result);
    return 
    $row[pics];
    }
    Header("Content-type: image/jpg");
    $pic=picit($artnr);
    readfile("$pic");
    ?>
    Ersetzte ich...
    PHP-Code:
    <?php
    {
    ....
    return 
    $row[pics];
    }
    ....
    ?>
    ...mit der Original Bild-URL...
    PHP-Code:
    <?php
    {
    .....
    $row="http://www.bildurl/bild.jpg";
    return 
    $row;
    }
    .....
    ?>
    ...funktioniert es komischerweise!

  • #2
    Re: Externes Bild in php ausgeben

    Original geschrieben von djdirek
    Ersetzte ich...
    PHP-Code:
    <?php
    {
    ....
    return 
    $row[pics];
    }
    ....
    ?>
    ...mit der Original Bild-URL...
    PHP-Code:
    <?php
    {
    .....
    $row="http://www.bildurl/bild.jpg";
    return 
    $row;
    }
    .....
    ?>
    ...funktioniert es komischerweise!
    hello,

    was steht denn in $pic drin wenn du aus der funktion rauskommst?
    (also VOR dem readfile)

    kuempi

    Kommentar


    • #3
      Von welchem Typ ist denn das Datenbankfeld `pics` ???
      gruss Chris

      [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

      Kommentar


      • #4
        dann heißt's ja auch nicht
        PHP-Code:
        readfile("$pic"); 
        sondern
        PHP-Code:
        echo $pic
        hhcm, berechtigte frage.

        Kommentar


        • #5
          Schon öfter gesehen das Binärdaten in Textfeldern gespeichert werden.. Da stehen mir direkt die Nackenhaare zu berge...
          gruss Chris

          [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

          Kommentar


          • #6
            kann man theoretisch machen, solange man base64 zur kodierung benutzt. ob das sinn macht, ist eine andere frage.

            Kommentar


            • #7
              Das ist Vergewaltigung

              BLOB und gut is...
              gruss Chris

              [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

              Kommentar


              • #8
                Original geschrieben von hhcm
                Schon öfter gesehen das Binärdaten in Textfeldern gespeichert werden.. Da stehen mir direkt die Nackenhaare zu berge...
                text (fast) = blob
                http://dev.mysql.com/doc/mysql/en/blob.html
                einziger Unterschied->die Sortierung...

                Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                Wie man Fragen richtig stellt

                Kommentar


                • #9
                  Es sind nur BildUrls in der Datenbank gespeichert!
                  Varchar

                  $pic enthält also die Bild Url aus der gerade angewählten Datenbank.
                  Das komische ist, wie gesagt, ich könnte am Ende der Funktion die ausgebene Datei umschreiben, in eine Beliebige gültige Bildurl, dann klappts !
                  Nur meine Urls aus der DB schmecken ihm nicht!

                  Kommentar


                  • #10
                    dann entferne den content-type header und finde erst heraus, ob die url richtig ermittelt wird.

                    dafür arbeitest du aber bitte mit E_ALL und mysql_error().

                    Kommentar

                    Lädt...
                    X