mysql blob & thumbnail

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

  • mysql blob & thumbnail

    Moin moin,
    folgendes ist mein Problem, ich Speicher in die Datenbank bilder, und will diese dann verkleinert ausgeben, im Prinzip funktioniert auch alles, nur bei manchen bilder stellt er sich krum! Wobei diese Lokal gehen. Wenn ich mir die bilder die angeblich kaput sind, per attachment downloade und mir Sie angucke funktionieren sie wieder.

    Hier mein Script:

    PHP-Code:
    <?php
    function view_image($id$thumbMaxWidth=false$thumbMaxHeight=false)
    {
        include(
    'config.inc.php');
          
    $i 0;
          
    $SQLstring "SELECT * FROM bmp_bilder where id = '".$id."'";
          
    $ergebnis mysql_query($SQLstring,$conection);
          while(
    $row=mysql_fetch_row($ergebnis))

            {
            
    $i++; 
            
    $image_type $row[3];
            
    $image_data $row[4];
            }
            
        if(
    $i == 0)
          {
            
    $image_data file_get_contents('noimage.jpg');
            
    $image_type "image/jpeg";
          }

        
    // gd Bibliothek installiert?
        
    if (!function_exists('ImageCreateFromString') || !$thumbMaxWidth || !$thumbMaxHeight)
        { 
    // nein -> Bild unverändert an Browser senden
            
    Header("Content-Type: ".$image_type);
            echo 
    $image_data;
            exit();
        }
        
    $thumbMaxWidth intval($thumbMaxWidth);
        
    $thumbMaxHeight intval($thumbMaxHeight);

        
    // Bild aus Binärdaten-String erzeugen
        
    $image ImageCreateFromString($image_data);

        
    // Bild-Größe ermitteln
        
    $imgWidth imagesx($image);
        
    $imgHeight imagesy($image);

        if (!
    $scaleUp && ($imgWidth $thumbMaxWidth) && ($imgHeight $thumbMaxHeight))
        { 
    // nicht vergrößern -> Bild unverändert an Browser senden
            
    Header("Content-Type: ".$image_type);
            echo 
    $image_data;
            exit();
        }

        
    // Bild verkleinern

        // Bild-Seitenverhältnis bestimmen
        
    $ratio = (float) $imgWidth / (float) $imgHeight;

        
    // Größe des Thumbnail berechnen
        
    if ($ratio <= 1)
        { 
    // Breite<=Höhe -> Höhe auf MAX_H festlegen -> Breite anpassen
            
    $thumb_h $thumbMaxHeight;
            
    $thumb_w ceil($thumbMaxHeight $ratio);
        }
        else
        { 
    // Breite>Höhe -> Breite auf MAX_W festlegen -> Höhe anpassen
            
    $thumb_w $thumbMaxWidth;
            
    $thumb_h ceil($thumbMaxWidth $ratio);
         }

         
    // Thumbnail erzeugen
        
    $thumb ImageCreateTrueColor($thumb_w$thumb_h);

        
    // Bild in Thumbnail skalieren
        
    ImageCopyResized($thumb,$image,0,0,0,0,$thumb_w,$thumb_h,$imgWidth,$imgHeight);

        
    // Bild an Browser senden
         
    Header("Content-Type: image/jpeg");
        
    ImageJPEG($thumb,'',90);

        
    // Bild + Thumbnail löschen
        
    ImageDestroy($image);
        
    ImageDestroy($thumb);
        exit();
    }

    view_image($_GET['id'],76,76);

    ?>
    Wäre nett wenn ihr da mal drüber schauen könnt und mir evtl. mein Fehler sagt wenn ihr ihn den sieht.

    MfG
    Malte Frerichs

  • #2
    mal mit anderen browsern/rechnern versucht?

    Kommentar


    • #3
      Ja habe ich mit beiden,
      Das Komische ist ja acuh es scheint so als wenn er manche bilder nicht mag! Ich lade 2 bilder in die datebank beide gleich breit, beide gleiches format, außerdem habe die beiden Bilder den gleichen namen nur eine Zahl hat sich geändert! (Ist aber egal wie ich die nenn hab ich schon versucht) ung die bilder sind von der gleichen Kamerea, das eine Funktioniert das wunderbar, und beim anderen mag er einfach nicht, obwohl es in der Datenbank steht ...

      Local funktioniert alles bestens da Funktionieren selbst die bilder die er im Web nicht mag!

      Kommentar


      • #4
        Ja habe ich mit beiden,
        mit beiden was?

        Kommentar


        • #5
          einmal IE und firefox, aber denke mal nicht das es am browser liegt... Also kann ich mri nciht vorstellen da es Local ja mit den beiden browser geht ...

          Kommentar


          • #6
            teste es auch an einem anderen rechner.
            lass dir die http-header ausgeben, die bei den bildern verschickt werden und vergleiche sie (zeige sie hier, wenn es geht).

            Kommentar


            • #7
              steht ja in der Datenbank:

              image/pjpeg

              bei jedem bild. Und am anderen rechner ist es das gleiche bestimmte bilder zeigt er einfach nicht an ...

              Kommentar


              • #8
                steht ja in der Datenbank
                und? kommt es bei dem client auch an?

                Kommentar


                • #9
                  aber das bild wird doch eh als JPG ausgeben! also das neue bild...

                  PHP-Code:
                  Header("Content-Type: image/jpeg");
                     
                  ImageJPEG($thumb,'',90); 
                  das ist der header doch fest gesetzt ....

                  Kommentar


                  • #10
                    wenn du sicher sein könntest, dass alles genau so geschieht, wie du es "programmierst", dann würdest du die fähigkeit besitzen, 100%-ig fehlerfreien code zu produzieren.

                    Kommentar


                    • #11
                      Hab das mal ein bsichen um geschrieben ohne mysql blob und das bild beigelegt bei dem es Probleme macht!

                      www.be-my-date.com/bilder.rar

                      Könnt ihr euch ja mal angucken! Wie gesagt Local zeigt er das bild wieder an und im Web wieder nicht!

                      Kommentar

                      Lädt...
                      X