Wasserzeichn und Dateiberechtigungen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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
    Last edited by 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 :-)

    Comment

    Working...
    X