Bild Finden+Verkleinern+Unterschiedliche Verzeichnisse

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

  • Bild Finden+Verkleinern+Unterschiedliche Verzeichnisse

    Hallo,

    ich habe ein kleines Problem. Und finde nicht so rechte einen Ansatz. Es geht darum das ich Bilder verkleinern möchte, sie mit einem Prefix versehen und im gleichen Verzeichnis wo es herkam wieder ablegen möchte. Die Rechte dafür sind gegeben. Der Pfad steht in der Datanbank drin, in der Form:

    "http://www.url.de/gallery/pics/user1/picname.jpg"
    "http://www.url.de/gallery/pics/user2/picname2.jpg"
    "http://www.url.de/gallery/pics/user1/picname1.jpg"

    etc...

    Mein Skript sieht wie folgt aus...



    PHP-Code:
    if(!empty($datei))
    {
        
    $dateiname $datei_name;
        if( 
    file_exists($datei_name))
        {
            
    check_datei();
            echo 
    "Die Datei mit dem Dateinamen <b>$datei_name</b> existierte bereits.<br> Ihre Datei wurde in <b>$dateiname</b> umbenannt";
        }
        else
        {

            
    copy($datei,"gallery/pics/$directory/$dateiname");
            
            if( 
    file_exists("gallery/pics/$directory/$dateiname"))   
            {
         
                
                
    //Resize
                
    $PicPathIn="gallery/pics/$directory/";
                
    $PicPathOut="gallery/pics/$directory/";
                
                
    // Orginalbild
                
    $bild$_FILES['datei']['name'];
                
                
    // Bilddaten ermitteln
                
    $size=getimagesize("$PicPathIn"."$bild");
                
    $breite=$size[0];
                
    $hoehe=$size[1];
                
    $neueBreite=120;
                
    $neueHoehe=intval($hoehe*$neueBreite/$breite);
                
                if(
    $size[2]==1) {
                
    /*echo $filetype;
                $giff = "1";
                */
                // PNG
                
    $altesBild=ImageCreateFromGIF("$PicPathIn"."$bild");
                
    $neuesBild=imagecreatetruecolor($neueBreite,$neueHoehe);
                
    imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
                
    ImagePNG($neuesBild,"$PicPathOut"."TN"."$bild");
                
    mysql_query($sql) OR die(mysql_error());
                echo 
    $uploaded;
                }
                
                if(
    $size[2]==2) {
                
    // JPG
                
    $altesBild=ImageCreateFromJPEG("$PicPathIn"."$bild");
                
    $neuesBild=imagecreatetruecolor($neueBreite,$neueHoehe);
                
    imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
                
    ImageJPEG($neuesBild,"$PicPathOut"."TN"."$bild");
                
    mysql_query($sql) OR die(mysql_error());
                echo 
    $uploaded;
                }
                
                if(
    $size[2]==3) {
                
    // PNG
                
    $altesBild=ImageCreateFromPNG("$PicPathIn"."$bild");
                
    $neuesBild=imagecreatetruecolor($neueBreite,$neueHoehe);
                
    imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
                
    ImagePNG($neuesBild,"$PicPathOut"."TN"."$bild");
                
    mysql_query($sql) OR die(mysql_error());
                echo 
    $uploaded;
                }
                
                if((
    $size[2] != 1) OR ($size[2] != 2) OR ($size[2] != 3)){
                }
                
                ;
                
    $Thumbnail=$PicPathOut."TN".$bild;
                }
            elseif(! 
    file_exists("gallery/pics/$directory/$dateiname"))
            {
                echo 
    "Die Datei ist nicht vorhanden";
            } 
    Mein Problem besteht darin das das Skript den ganzen Ordner "pics" mit allen unterordnern durchgehen soll und alle Datein in den Ordnern bzw unterordnern bearbeiten soll.
    Wie könnte ich das machen?

    Wäre nett wenn ihr mir helfen könntet.

    Danke im Vorraus.
    The Human Mirror - Mein Blog!
    www.sonicsense.de - The future of music!

  • #2
    du packst den ganzen code (den ich mir nicht im detail angesehen habe) in eine funktion

    in der schleife mit dem readdir prüfst du mit is_dir ab, ob es ein verzeichjnis ist; wenn ja, dann rufst du die funktion erneut auf und übergibst ihr dies verzeichnis
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Brich bitte die zeile in deinem Code um, so das man hier nicht nach rechts scrollen muss!
      *winks*
      Gilbert
      ------------------------------------------------
      Hilfe für eine Vielzahl von Problemen!!!
      http://www.1st-rootserver.de/

      Kommentar


      • #4
        Original geschrieben von mrhappiness
        du packst den ganzen code (den ich mir nicht im detail angesehen habe) in eine funktion
        dabei aber aufpassen, dass dann von den soeben erstellten thumbnails nicht wieder thumbnails erzeugt und im verzeichnis abgelegt werden, und von diesen dann wieder, usw. usf. - sonst hast du nämlich ganz schnell eine weitere rekursionsebene da drin, die sicher nicht gewollt ist :-)
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Super, hat funktioniert. Danke.
          The Human Mirror - Mein Blog!
          www.sonicsense.de - The future of music!

          Kommentar

          Lädt...
          X