Eine Datei mag er, eine nich...hmpf

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

  • Eine Datei mag er, eine nich...hmpf

    Hi! also leudz ich hab da nen script, der bilder als thumbs verkleinert. das is mit nem formular verknüoft und bla...das übliche halt...

    PHP-Code:
        $url $in_picurl;
        
    $datei strrchr($url,"/");
        
    $datei substr($datei,1);
        
    $location strlen($url);
        
    $length strlen($datei);
        
    $length $location $length;
        
    $location substr($url,0,$length);

        
    $PicPathIn $location
        
    $PicPathOut "./thumbs/"
        
    $bild $datei;
        
    $size getimagesize("$PicPathIn"."$bild"); 
        
    $breite $size[0]; 
        
    $hoehe $size[1]; 
        
    $neueBreite $thumb_width
        
    $neueHoehe intval($hoehe*$neueBreite/$breite); 
        if(
    $size[2]=="2")
        {
            
    $ende ".jpg";
            
    $altesBild ImageCreateFromJPEG("$PicPathIn"."$bild");
            if(
    $img_truecolor=="1")
            { 
                
    $neuesBild imageCreateTrueColor($neueBreite,$neueHoehe); 
            }
            else
            {
                
    $neuesBild imageCreate($neueBreite,$neueHoehe);
            }
            
    ImageCopyResampled($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe); 
            
    ImageJPEG($neuesBild,"$PicPathOut"."out_"."$bild",$jpg_quallity);
            
    ImageDestroy($neuesBild); 
        }     
        if(
    $size[2]=="3")
        { 
            
    $ende ".png";
            
    $altesBild ImageCreateFromPNG("$PicPathIn"."$bild"); 
            if(
    $img_truecolor=="1")
            { 
                
    $neuesBild imageCreateTrueColor($neueBreite,$neueHoehe); 
            }
            else
            {
                
    $neuesBild imageCreate($neueBreite,$neueHoehe);
            }
            
    ImageCopyResampled($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe); 
            
    ImagePNG($neuesBild,"$PicPathOut"."out_"."$bild");
            
    ImageDestroy($neuesBild);
        } 
        
    $thumb $PicPathOut."out_".$bild;

    ... 
    so datein wie z.b. "molly.jpg" oder so mag er aber datein die so lauten: "2002-10-05-0132.jpg" ich hab leider keinen einfluss auf die datei namen, also muss ich mein script ändern! ich weis blos nich worans liegt...

    o das wichtigste! (fast vergessen )

    ...:::Fehler:::...
    Warning: Division by zero in E:\WAMP\www\newssys\thumb.php on line 19

    warum macht er das? währe cool wenn mir einer helfen kann!

    btw: ich vermute das es an den "-" liegt, aber so richtig weiter hilft mir die idee au net...


    MfG Blood
    Man lernt nie aus...

    ...und wenn man's doch tut braucht man sich auch nicht schämen!

  • #2
    Hi,
    ich schätze mal das Formular ist ein UploadScript, oder liege ich da falsch???
    Wenn du die Bilder uploadest, kannst du Sie ja vorher umbenennen und dann erst die Thumbnails erstellen.
    mfg
    Günni


    Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
    Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
    Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
    City-Tiger - Online durch die Straßen tigern...

    Kommentar


    • #3
      ne is kein upload script is ein newsscript, ich darf die bilder von einigen seiten verwenden und deshalb kann ich sie nich beeinflussen...ne idee?
      Man lernt nie aus...

      ...und wenn man's doch tut braucht man sich auch nicht schämen!

      Kommentar


      • #4
        Super!

        Wo ist bitte schön Line 19?

        Division ist bestimmt nicht - sondern / , was also auch dein Problem beheben sollte!

        Kommentar


        • #5
          die einzige division ist hier:

          PHP-Code:
          $neueHoehe intval($hoehe*$neueBreite/$breite); 
          aber warum sollte das den nich gehn?

          das bild is 480x320 also auf gut deutsch:

          320*150/480=100 und wenn 100=zero(0) is dann weis ich net wo du zur schule bist


          sonst is ja nürgens eine division drin! das verwirrt mich ja au ein wenig! aber es geht ja nur net wenn die datei "-" beinhaltet weitere fehler hab ihc noch niocht gehabt! komisch oder?! hier hast au noch den kompletten code:


          PHP-Code:
          <? 
          if($create_thumb=="1")
          {
              $url = $in_picurl;
              $datei = strrchr($url,"/");
              $datei = substr($datei,1);
              $location = strlen($url);
              $length = strlen($datei);
              $length = $location - $length;
              $location = substr($url,0,$length);

              $PicPathIn = $location; 
              $PicPathOut = "./thumbs/"; 
              $bild = $datei;
              $size = getimagesize("$PicPathIn"."$bild"); 
              $breite = $size[0]; 
              $hoehe = $size[1]; 
              $neueBreite = $thumb_width; 
              $neueHoehe = intval($hoehe*$neueBreite/$breite); 
              if($size[2]=="2")
              {
                  $ende = ".jpg";
                  $altesBild = ImageCreateFromJPEG("$PicPathIn"."$bild");
                  if($img_truecolor=="1")
                  { 
                      $neuesBild = imageCreateTrueColor($neueBreite,$neueHoehe); 
                  }
                  else
                  {
                      $neuesBild = imageCreate($neueBreite,$neueHoehe);
                  }
                  ImageCopyResampled($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe); 
                  ImageJPEG($neuesBild,"$PicPathOut"."out_"."$bild",$jpg_quallity);
                  ImageDestroy($neuesBild); 
              }     
              if($size[2]=="3")
              { 
                  $ende = ".png";
                  $altesBild = ImageCreateFromPNG("$PicPathIn"."$bild"); 
                  if($img_truecolor=="1")
                  { 
                      $neuesBild = imageCreateTrueColor($neueBreite,$neueHoehe); 
                  }
                  else
                  {
                      $neuesBild = imageCreate($neueBreite,$neueHoehe);
                  }
                  ImageCopyResampled($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe); 
                  ImagePNG($neuesBild,"$PicPathOut"."out_"."$bild");
                  ImageDestroy($neuesBild);
              } 
              
          $thumb = $PicPathOut."out_".$bild;
              if($in_submit=="Vorschau")
              {
                  if(file_exists($PicPathOut."out_vorschau".$ende))
                  {
                      unlink($PicPathOut."out_vorschau".$ende);
                  }
                  rename("$thumb", $PicPathOut."out_vorschau".$ende);
                  $thumbnail = $PicPathOut."out_vorschau".$ende;
              }
              elseif($in_submit=="Posten")
              {
                  if(file_exists($PicPathOut."out_5".".jpg"))
                  {
                      
                  }
                  elseif(file_exists($PicPathOut."out_5".".png"))
                  {
                      
                  }
                  if(file_exists($PicPathOut."out_4".".jpg"))
                  {
                      
                  }
                  elseif(file_exists($PicPathOut."out_4".".png"))
                  {
                      
                  }
                  if(file_exists($PicPathOut."out_3".".jpg"))
                  {
                      
                  }
                  elseif(file_exists($PicPathOut."out_3".".png"))
                  {
                      
                  }
                  if(file_exists($PicPathOut."out_2".".jpg"))
                  {
                      
                  }
                  elseif(file_exists($PicPathOut."out_2".".png"))
                  {
                      
                  }
                  if(file_exists($PicPathOut."out_1".".jpg"))
                  {
                      
                  }
                  elseif(file_exists($PicPathOut."out_1".".png"))
                  {
                      
                  }
                  rename("$thumb", $PicPathOut."out_1".$ende);
                  $thumbnail = $PicPathOut."out_1".$ende;
              }

          ?>
          ^^btw: der untereteil wird noch umgebaut!
          Zuletzt geändert von BloodReaver; 07.02.2003, 15:27.
          Man lernt nie aus...

          ...und wenn man's doch tut braucht man sich auch nicht schämen!

          Kommentar


          • #6
            wo ist zeile 19???

            Kommentar


            • #7
              was weis ich wie php die zeilen zählt...
              Man lernt nie aus...

              ...und wenn man's doch tut braucht man sich auch nicht schämen!

              Kommentar


              • #8
                Hast du keinen Editor?
                Wie lange Programmierst du schon?
                Hast du das Script selber geschrieben?
                Wo gehst du denn zur Schule? Dass du keine Zeilen zählen kannst.

                Kommentar


                • #9
                  also meines wissens nach wird das ja in php aweng anderes gezählt, weil wenn er ein if... überspringt werden die zeilen ja net gezählt...so genau weis ich das net!

                  aber ich kann dir ja mal aweng was vorzählen...1,2,3,4,5,ähm...8? nö ähm...mom

                  also hier mal was was rein theoretisch zeile 19 sein könnte

                  PHP-Code:
                  $altesBild ImageCreateFromJPEG("$PicPathIn"."$bild"); 
                  wenn man nur jede zeile mit wirklichem code zählt...

                  PHP-Code:
                  $neueHoehe intval($hoehe*$neueBreite/$breite); 
                  wenn man jede zeile zählt kann aber net sein weil diese division eindeutig nicht 0 ergibt!
                  ^^das is aber eigentlich au die einzige division! aber wie gesagt wenn ich wüsste wo das prob liegt würd ichs beheben! das einzige was ich beobachtet hab is, das der das nur bei den datein macht die in diesem "-"-format sind...

                  was ich mir denken könnte is, das er irgendwo ganz oben die - als minus ansieht und dann $datei ne zahl oder so zuweist, dadurch kann er keine imagesize getten und das heist die rechnung währ:
                  "0*150/0=0" bzw leer aber keinen plan woran das liegt...

                  ich habs umgeschrieben aus dem thumbtut falls dich das interressiert!

                  MfG Blood
                  Zuletzt geändert von BloodReaver; 07.02.2003, 15:39.
                  Man lernt nie aus...

                  ...und wenn man's doch tut braucht man sich auch nicht schämen!

                  Kommentar


                  • #10
                    Es wird jede Zeile gezählt.
                    mfg
                    Günni


                    Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
                    Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
                    Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
                    City-Tiger - Online durch die Straßen tigern...

                    Kommentar


                    • #11
                      PHP wird immer und überall gleich gezählt. Auch If(), Kommentare und Leerzeilen.

                      An der Division kanns nicht liegen, aber mach einfach mal statt der variable ne Zahl darein.

                      Und dann poste man bitte zwei bilder. eins was getestet klappt und ein was getestet nicht klappt.

                      Kommentar


                      • #12
                        mach mal hinter die zeile
                        PHP-Code:
                        $size getimagesize("$PicPathIn"."$bild"); 
                        das hier
                        PHP-Code:
                        print_r($size); 
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          @happy: Wir haben die gleiche Vermutung

                          Kommentar


                          • #14
                            also zu print_r($size);:

                            er macht ne leerzeile ich schätz das heist da is einfach nix! aber ich weis halt net wo er die - als minus interpretiert und das teil versaut!

                            zu den 2 bildern


                            geht net! liegt auf meinem server zum test


                            das z.b. geht...

                            ^^kann das sein das php vielleicht ne gesichtskontrolle macht?!


                            MfG Blood
                            Man lernt nie aus...

                            ...und wenn man's doch tut braucht man sich auch nicht schämen!

                            Kommentar


                            • #15
                              yep...
                              wenn da steht 'division by zero' dann is da auch ne division by zero. der indianer dankt sich ja keine märchen aus.
                              eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

                              Kommentar

                              Lädt...
                              X