Ankündigung

Einklappen
Keine Ankündigung bisher.

thumbnails erstellen

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • thumbnails erstellen

    guten tag auf dem wege zur eigenen galerie komm ich einfach über ein paar fehler nicht hinweg. konnte hier auch soweit keinen ähnlichen fall finden, also post ich einfach mal die errors und das skript.


    Code:
    <?PHP
    //error_reporting(0);
    $originalpath = "divers";
    $thumbnail="thumb_";
    $thumbpath="$thumbnail"."$originalpath";
    $dest = "$originalpath"."$thumbpath";
    
    $nw = "225";
    $nh = "165";
    
    $thumbpathdir = "".$originalpath."/";
    
    if(!is_dir($originalpath.$thumbpath)) {
    mkdir("$thumbpathdir"."$thumbpath", 777);
    
    $open=opendir($originalpath);
    while($source=readdir($open)){ 
    function cropImage($nw, $nh, $source, $stype, $dest) {
        $size = @getimagesize($source);
        $w = $size[0];
        $h = $size[1];
        switch($stype) {
            case 'gif':
            $simg = imagecreatefromgif($source);
            break;
            case 'jpg':
            $simg = imagecreatefromjpeg($source);
            break;
            case 'png':
            $simg = imagecreatefrompng($source);
            break;
        }
        $dimg = imagecreatetruecolor($nw, $nh);
        $wm = $w/$nw;
        $hm = $h/$nh;
        $h_height = $nh/2;
        $w_height = $nw/2;
        if($w> $h) {
            $adjusted_width = $w / $hm;
            $half_width = $adjusted_width / 2;
            $int_width = $half_width - $w_height;
            imagecopyresampled($simg,$dimg,-$int_width,0,0,0,$adjusted_width,$nh,$w,$h);
        } elseif(($w < $h) || ($w == $h)) {
            $adjusted_height = @($h / $wm);
            $half_height = $adjusted_height / 2;
            $int_height = $half_height - $h_height;
            imagecopyresampled($dimg,$simg,0,-$int_height,0,0,$nw,$adjusted_height,$w,$h);
        } else {
            imagecopyresampled($dimg,$simg,0,0,0,0,$nw,$nh,$w,$h);
        }
    
        imagejpeg($dimg,$dest,100);
    }
    
    
    cropImage(225, 165, "$originalpath/$source", "", "$thumbpath/$thumbnail"."$source");
    
     
    } } else {
    
    
    if (is_dir($originalpath)) {
        if ($dh = opendir($originalpath)) {
            while (($file = readdir($dh)) !== false) {
                        echo "<a href=\"".$originalpath."".$file."\" rel=\"lightbox\"><img style=\"float:left;\" src=\"".$originalpath."thumb_".$originalpath."thumb_".$file."\"></a>";
    
            }
            closedir($dh);
        }
    }
    
    
    
    }
    ?>
    Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /var/www/web1/html/file/fotos/gso.php on line 61

    Warning: imagejpeg(): Unable to open 'thumb_divers/thumb_.' for writing in /var/www/web1/html/file/fotos/gso.php on line 66

    Fatal error: Cannot redeclare cropimage() (previously declared in /var/www/web1/html/file/fotos/gso.php:32) in /var/www/web1/html/file/fotos/gso.php on line 32
    besten dank soweit


  • #2
    Hi,

    1. Ich habe heute meinen sozialen Tag, deswegen habe ich das Formatieren des Textes inklusive des Posten mit Syntax Highlighting mal für dich übernommen:

    PHP-Code:
    <?PHP
    error_reporting
    (E_ERROR E_WARNING E_PARSE E_NOTICE);
    $originalpath "gennep/";
    $thumbnail="thumb_";
    $thumbpath="$thumbnail"."$originalpath";

    if(!
    is_dir($originalpath.$thumbpath)) {
        
    mkdir($originalpath.$thumbpath);
        
    $open=opendir($originalpath);
        while(
    $bild=readdir($open)){ 
            if(
    $bild != "." && $bild != ".."){ 
                
    $endung split("[.]",$bild); 
                if (
    $endung[1] == "jpg" || "JPG" || "jpeg" || "JPEG" || "png" || "PNG"){
                    if (!
    is_file("$originalpath"."thumb_$originialpath/$bild")){ 
                        
    $newfilename"thumb_$bild"
                        
    $neueBreite=130
                        
    $size=getimagesize($originalpath.$bild); 
                        
    $breite=$size[0]; 
                        
    $hoehe=$size[1]; 
                        
    $neueHoehe=intval($hoehe*$neueBreite/$breite); 
                        if(
    $size[2]==2) { 
                            
    $altesBild=ImageCreateFromjpeg($originalpath.$bild); 
                            
    $neuesBild=ImageCreateTrueColor($neueBreite,$neueHoehe); 
                            
    ImageCopyResized($neuesBild,$altesBild,00,0,0,$neueBreite,$neueHoehe,$breite,$hoehe); 
                            
    Imagejpeg($neuesBild,"$originalpath"."$thumbpath"."$newfilename",100);
                        } 
                    }
                    
    $ausgabe="$originalpath"."$thumbpath"."$newfilename"
                    
    $original="$originalpath"."$bild"
                } 
            } 
        } 
    }else{
        
    $dir "pics/";
        if (
    is_dir($originalpath)) {
            if (
    $dh opendir($originalpath)) {
                while ((
    $file readdir($dh)) !== false) {
                            echo 
    "<a href=\"".$originalpath."".$file."\" rel=\"lightbox\"><img style=\"float:left;\" src=\"".$originalpath."thumb_".$originalpath."thumb_".$file."\"></a>";
                }
                
    closedir($dh);
            }
        }

    }
    ?>
    2. Ich glaube, da fehlt noch etwas Code, die in der Fehlermeldung beschriebene Funktion imagecopyresampled() existiert bei dir gar nicht. Poste bitte den kompletten Code!

    Mfg

    PS: Bitte etwas auf deine Orthographie achten...

    Kommentar


    • #3
      willst du uns verarschen?

      Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /var/www/web1/html/file/fotos/gso.php on line 61
      in deinem Code oben ist kein einziges imagecopyresampled()

      Kommentar


      • #4
        also bei der variante von Young Jedi kommen eine menge warnungen und sowas:

        Notice: Undefined offset: 1 in /var/www/web1/html/file/fotos/new.php on line 13

        Notice: Undefined variable: originialpath in /var/www/web1/html/file/fotos/new.php on line 14

        Warning: getimagesize(): Read error! in /var/www/web1/html/file/fotos/new.php on line 17

        Warning: Division by zero in /var/www/web1/html/file/fotos/new.php on line 20

        Notice: Undefined variable: originialpath in /var/www/web1/html/file/fotos/new.php on line 14

        Notice: Undefined variable: originialpath in /var/www/web1/html/file/fotos/new.php on line 14

        Notice: Undefined variable: originialpath in /var/www/web1/html/file/fotos/new.php on line 14

        Notice: Undefined variable: originialpath in /var/www/web1/html/file/fotos/new.php on line 14

        Notice: Undefined variable: originialpath in /var/www/web1/html/file/fotos/new.php on line 14

        Notice: Undefined variable: originialpath in /var/www/web1/html/file/fotos/new.php on line 14

        Notice: Undefined variable: originialpath in /var/www/web1/html/file/fotos/new.php on line 14

        Notice: Undefined variable: originialpath in /var/www/web1/html/file/fotos/new.php on line 14

        Notice: Undefined variable: originialpath in /var/www/web1/html/file/fotos/new.php on line 14

        Notice: Undefined variable: originialpath in /var/www/web1/html/file/fotos/new.php on line 14

        Notice: Undefined variable: originialpath in /var/www/web1/html/file/fotos/new.php on line 14

        Notice: Undefined variable: originialpath in /var/www/web1/html/file/fotos/new.php on line 14

        Notice: Undefined offset: 1 in /var/www/web1/html/file/fotos/new.php on line 13

        Notice: Undefined variable: originialpath in /var/www/web1/html/file/fotos/new.php on line 14

        Warning: getimagesize(): Read error! in /var/www/web1/html/file/fotos/new.php on line 17

        Warning: Division by zero in /var/www/web1/html/file/fotos/new.php on line 20
        auf dem server seh ich auch das ein paar thumbs angelegt wurden (die auch nach refresh des skripts angezeigt werden). allerdings mit nem chmod 644 und user www-data anstatt web1

        Kommentar


        • #5
          Zitat von dom Beitrag anzeigen
          also bei der variante von Young Jedi kommen eine menge warnungen und sowas:
          oO Ich habe eigentlich nur dein Code kopiert und formatiert.
          Entweder du hast dein Code oben noch einmal in der Zeit verändert oder ich habe irgend etwas falsch gemacht.

          Wohl eher 1.

          Kommentar


          • #6
            ich hatte eigentlich nur vergessen die warnings zu posten :/

            Kommentar


            • #7
              wohl eher wegen dem error_reporting

              Kommentar


              • #8
                Zitat von cycap Beitrag anzeigen
                wohl eher wegen dem error_reporting
                wie meinen?

                Kommentar


                • #9
                  Hallo!

                  Hier ist ein Fehler dabei!
                  PHP-Code:
                  $size=getimagesize($originalpath.$bild); 
                  Du benutzt da einen Punkt und setzt da nur Zwei Variablen zusammen,aber der Punkt wird im String dann nicht dargestellt,soweit ich das richtig beurteile!

                  Das müsste glaube ich so aussehen!

                  PHP-Code:
                  $size=getimagesize($originalpath.".".$bild); 
                  Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                  http://www.lit-web.de

                  Kommentar


                  • #10
                    Hallo dom,

                    dazu habe ich bereits mal eine Klasse gepostet die Thumbnails erstellt. Vielleicht kannst du dich ja dannach richtigen bzw. Orientieren.

                    http://www.php.de/php-einsteiger/197...alisieren.html
                    Mfg Tomtaz
                    "Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."

                    Kommentar


                    • #11
                      Zitat von litterauspirna Beitrag anzeigen
                      Hallo!

                      Hier ist ein Fehler dabei!
                      PHP-Code:
                      $size=getimagesize($originalpath.$bild); 
                      Du benutzt da einen Punkt und setzt da nur Zwei Variablen zusammen,aber der Punkt wird im String dann nicht dargestellt,soweit ich das richtig beurteile!

                      Das müsste glaube ich so aussehen!

                      PHP-Code:
                      $size=getimagesize($originalpath.".".$bild); 
                      hi, die zeile stammt nicht aus meinem script, ich verwende getimagesize nur in zusammenhang mit $source, dem ergebnis von readdir.



                      und tomtaz, bei der klasse aus deinem thread bekomm ich einen parse error

                      Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /var/www/web1/html/file/fotos/new.php on line 6
                      und das ganze skript ist ja noch viel komplizierter als alles andere was ich in die richtig bisher gesehen habe

                      nur bevor ich anfang mit deinem code rumzufrimmeln. sollte ich erstmal das können haben meinen eigenen erfolgreich abzuschließen oder nicht?

                      Kommentar


                      • #12
                        Das Script von tomatz ist so weit ich mich noch erinnern kann OOP! Um das zu verstehen musst dich Zwangsläufig in OOP einlesen!
                        Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                        http://www.lit-web.de

                        Kommentar


                        • #13
                          d.h. keiner hat eine idee bezüglich dem code aus dem ersten post? Oo

                          Kommentar


                          • #14
                            Schau dir mal deine Fehlermeldungen genau an:
                            Code:
                            Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /var/www/web1/html/file/fotos/gso.php on line 61
                            
                            Warning: imagejpeg(): Unable to open 'thumb_divers/thumb_.' for writing in /var/www/web1/html/file/fotos/gso.php on line 66
                            
                            Fatal error: Cannot redeclare cropimage() (previously declared in /var/www/web1/html/file/fotos/gso.php:32) in /var/www/web1/html/file/fotos/gso.php on line 32
                            2ter Fehler bedeutet er kann die Datei nicht öffnen. "thumb_divers/thumb_." <-- das wird wohl kein Bild sein oder? Erstmal solltest du dort anfassen um das zu beheben.

                            1ter Fehler sollte dadurch behoben werden wenn im 2ten Fehler auch ein richtiges Bild eingelesen wird.

                            3ter Fehler bedeutet die Funktion cropimage() wurde schon irgendwo von dir ein zweites mal definiert!

                            Kommentar


                            • #15
                              ich dachte mir auch sowas, dass es garkein gültiges bild ist, aber im ordner sind nur jpg's von denen auch keins defekt ist soweit.


                              und stimmt schon cropImage wird oben als function definiert und dann unten nochmala ausgeführt. unten ist ja dann eigentlich quark oder? aber nehm ich diese raus kommt der gleiche fehler

                              Kommentar

                              Lädt...
                              X