Wasserzeichn und Dateiberechtigungen

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

  • Wasserzeichn und Dateiberechtigungen

    Hi Folks,

    habe mir dieses Skript gebastelt um schnell einen kompletten Ordner
    mit Bildern mit einem Wasserzeichen zu versehen.
    Das Skript an sich abreitet einwandfrei, allerdings muss ich die Dateiberchtignungen der jeweiligen Ordner immmer manuell setzen. Was bei vielen Ordnern echt mühsam ist.
    Ich habs schon mit chmod() und siteftp() probiert. Ohne Erfolg.
    Nun würd ich gerne von euch wissen wie und welche Funktionen ihr
    wo einsetzen würdet.

    PHP-Code:
    $dir "./tmp";
    function 
    read_dir($dir
    {
        
    $path opendir($dir);
            while (
    false !== ($file readdir($path))) 
            {
                if(
    $file!="." && $file!=".."
                {
                    if(
    is_file($dir."/".$file))
                    {
                    
    $files[]=$file;
                    } else {
                    
    $dirs[]=$dir."/".$file;
                    }
                }
            }
        if(!
    $dirs){
                echo 
    "Keine Verzeichnisse gefunden!!<br><br>";
        }else{
                global 
    $ordner$ordner $dirs;
        }
    }

    function 
    getImageFileNames($path)
      {
        
    $result "";
        
    $ar = array();
        
    $handle=opendir($path);

        while (
    $file readdir ($handle)) 
        { 
           if (
    $file != "." && $file != ".." && $file != "tn"
           { 
              if (! 
    is_dir($file))
              {
                
    $sub substr($file, -4);
                if (
    $sub == ".png" || $sub == ".jpg" || $sub == ".gif" || $sub == ".bmp")
                   
    $ar[] = $file;
            
            
    //echo $file."\n";
                
              
    }
           } 
        }
        
    closedir($handle); 
    return 
    $ar;
      }

    function 
    watermark($file){

    // Originalformat auslesen
    $size        getimagesize($file);
    $width       $size[0];
    $height      $size[1];

    // Bild laden
    $old_picture imagecreatefromjpeg($file);

    // Neues Bild erzeugen
    $new_picture imagecreatetruecolor($width$height);

    // Kopiert das Ursprungsbild und formatiert es um + Weichzeichnung.
    imagecopyresampled($new_picture$old_picture0000$width$height$width$height);

    // Wasserzeichen einbinden
    $transition          50;
    $watermarkfile       imagecreatefrompng('wasserzeichen.png');
    $waternarkpic_width  imagesx($watermarkfile);
    $waternarkpic_height imagesy($watermarkfile);
    //$watermarkdest_x     = $width / 2 - ($waternarkpic_width / 2);
    //$watermarkdest_y     = $height / 2 - ($waternarkpic_height / 2);
    $watermarkdest_x     $width - ($waternarkpic_width+2);
    $watermarkdest_y     13;
    imagecopymerge($new_picture$watermarkfile$watermarkdest_x$watermarkdest_y00$waternarkpic_width$waternarkpic_height$transition);

    // Bild ausgeben

    imagejpeg($new_picture"$file"85);

    }

    read_dir($dir);
    if(!
    $_POST['dir_choose'])
    {
        echo 
    "Kein Verzeichnis ausgewählt!";
    }else{
    $destination $_POST['dir_choose'];
    $pictures getImageFileNames($destination);

        foreach(
    $pictures as $values){
        
    watermark($destination.'/'.$values);
        }
        echo 
    sizeof($pictures)." <b>Bilder bearbeitet!</b>";
        
    }

    ?> 
    Das ganze Skript liegt hier
    Zuletzt geändert von PatrickK; 03.02.2008, 20:21.

  • #2
    Das geht in der Regel nur manuell, oder durch eine Shellscript, was Du u.U. auch per php ausführen darfst.

    PHP-Code:
    shell_exec("chmod -R 0777 /home/www/web1/html/images"); 
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar

    Lädt...
    X