este script sirve basicamente para todos aquellos vagos como yo que se cansan o no saben( mi caso) utilizar un programa de fotografia para meterle una marca de agua con el logo chulo de tu web.
pero para eso esta PHP, para suplir con codigo la falta de tiempo, solo le has de especificar la ruta en la que estan tus imagenes y la marca de agua, en esa misma carpeta crear 2 subcarpetas mas "tmp" y "conmarca", el script se encargara de cojer todas las imagenes .jpg y transformarlas en las mismas imagenes pero con la marca de agua incorporada en la carpeta "conmarca".
tampoco te has de preocupar de eliminar las imagenes para meter otras nuevas ya que el script se encarga de no volver a trabajar de nuevo(digamos que este seria un script vago, jeje).
sin mas dilacion ahi va el script (la mitad del script no es mio esta aqui):
<?php
/**
* codigo de blog.juegosocio.com
* no dudes en avisarme de los fallos
* autor mamel
**/
ini_set("max_execution_time","600");
ini_set("memory_limit","48M");
//indicamos el directorio inicial
$directorio='./';
//indicamos la carpeta de destino de las fotos con la marca de agua
$directorio_destino=$directorio.'conmarca/';
//metemos en un array los archivos que hay en cada una de las carpetas
$archivos_destino_dir=scandir($directorio_destino);
$archivos_dir=scandir($directorio);
//recorremos el array que contiene los archivos del directorio inicial
foreach($archivos_dir as $archivo){
/*escojemos entre los archivos solo aquellos que sean .jpg
( ojo las .JPG no valdrian ya que al escribir la nueva
foto el nombre de archivo iria en minusculas), y no se
procesaran anteriormente*/
if(ereg('.jpg',$archivo) and !in_array($archivo,$archivos_destino_dir)){
//indicamos donde se encuentra la marca de agua
$marcadeagua="marca_agua.png";
$origen=$archivo;
/*escojemos el mismo nombre de archivo para el jpg
generado con marca de agua*/
$destino=$directorio_destino.$archivo;
$destino_temporal=tempnam("tmp/","tmp");
//llamamos a la funcion
marcadeagua($origen, $marcadeagua, $destino_temporal, 100);
// guardamos la imagen
$fp=fopen($destino,"w");
fputs($fp,fread(fopen($destino_temporal,"r"),
filesize($destino_temporal)));
fclose($fp);
//escribimos en pantalla los archivos que se han analizado
echo $archivo."<br>";
}
}
function marcadeagua($img_original, $img_marcadeagua,
$img_nueva, $calidad){
// obtener datos de la fotografia
$info_original = getimagesize($img_original);
$anchura_original = $info_original[0];
$altura_original = $info_original[1];
// obtener datos de la "marca de agua"
$info_marcadeagua = getimagesize($img_marcadeagua);
$anchura_marcadeagua = $info_marcadeagua[0];
$altura_marcadeagua = $info_marcadeagua[1];
/* calcular la posición donde debe copiarse la
"marca de agua" en la fotografia*/
$horizmargen = ($anchura_original - $anchura_marcadeagua)/2;
$vertmargen = ($altura_original - $altura_marcadeagua)/2;
// crear imagen desde el original
$original = ImageCreateFromJPEG($img_original);
ImageAlphaBlending($original, true);
// crear nueva imagen desde la marca de agua
$marcadeagua = ImageCreateFromPNG($img_marcadeagua);
// copiar la "marca de agua" en la fotografia
ImageCopy($original, $marcadeagua, $horizmargen, $vertmargen,
0, 0, $anchura_marcadeagua, $altura_marcadeagua);
// guardar la nueva imagen
ImageJPEG($original, $img_nueva, $calidad);
// cerrar las imágenes
ImageDestroy($original);
ImageDestroy($marcadeagua);
}
?>