Maison > Article > développement back-end > php 给文件夹下的所有图片批量打水印
php 给指定文件夹下的所有图片批量打水印
<?php define("ROOTDIR", 'C:\Users\ADMIN\Pictures\20160715'); define("DSDIR", "C:\Users\ADMIN\Pictures\watermarked-3"); define("SEPARATER", '\\'); $watermark = imagecreatefrompng('watermark.png'); //水印文件 $wsx = imagesx($watermark); //水印宽度 $wsy = imagesy($watermark); //水印高度 $filenames = scandir(ROOTDIR); //读取文件夹下的所有文件 $i = 0; //遍历所有文件 foreach($filenames as $name){ switch ($name) { case '.': //文件夹本身不处理 break; case '..': //上级文件夹不处理 break; default: // 读取图片文件(png,jpg) if('png'==strstr($name, 'png')){ $image = imagecreatefrompng(ROOTDIR.SEPARATER.$name); }else{ $image = imagecreatefromjpeg(ROOTDIR.SEPARATER.$name); } $isx = imagesx($image); $isy = imagesy($image); $flag = imagecopy($image, $watermark, $isx-$wsx-20, $isy-$wsy-20, 0, 0, $wsx, $wsy); if($flag){ imagejpeg($image,DSDIR.SEPARATER.$name); //保存文件 imagedestroy($image);//内存回收 }else{ echo '失败'; } } } ?>
以上就介绍了 php 给文件夹下的所有图片批量打水印,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。