Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Subir imagen con marca de agua en php (fácil)

En este pequeño script podemos ver como podemos subir una imagen con marca de agua en php de una manera muy sencilla y con todas las partes del código comentadas y explicadas paso a paso.

Comentar que este scritp es válido para imagenes jpg y png y básicamente lo que hace es subir la imagen en primero instancia y después la abre para pegarle la marca de agua o logo seleccionado.

Después de este post vamos a publicar otro de como hacer este proceso a una carpeta o directorio completo, estate atento.

Subida de una sola imagen con marca de agua, ejemplo completo:
<?php

if(isset($_FILES['files']) && $_FILES['files']!='' ){

//Carpeta donde se guarda la marca de agua y las imagenes
$directorio='upload/';

//Guardar la imagen
move_uploaded_file($_FILES['files']['tmp_name'], $directorio.$_FILES['files']['name']  );

//Cargar la marca de agua
$estampa = imagecreatefrompng($directorio.'logo.png');


//Cargar ima imagen recien guardada (jpg y png)
if($_FILES['files']['type']=='image/jpg' or $_FILES['files']['type']=='image/jpeg'){
	$im = imagecreatefromjpeg($directorio.$_FILES['files']['name']);
} else if($_FILES['files']['type']=='image/png'){
	$im = imagecreatefrompng($directorio.$_FILES['files']['name']);
}

//Establecer los márgenes para la estampa
$margen_dcho = 10;
$margen_inf = 10;
$sx = imagesx($estampa);
$sy = imagesy($estampa);

// Copiar la imagen de la estampa sobre nuestra foto usando los índices de márgen y el 
imagecopy($im, $estampa, imagesx($im) - $sx - $margen_dcho, imagesy($im) - $sy - $margen_inf, 0, 0, imagesx($estampa), imagesy($estampa));

//Remplazar la imagen con la marca de agua
if($_FILES['files']['type']=='image/jpg' or $_FILES['files']['type']=='image/jpeg'){
	imagejpeg($im,$directorio.$_FILES['files']['name']);
} else if($_FILES['files']['type']=='image/png'){
	imagepng($im,$directorio.$_FILES['files']['name']);

}

}

?>
<form action="" method="post" enctype="multipart/form-data">
	<input type="file" name="files">
	<input type="submit" value="subir">
</form>
ver como hacer una subida múltiple de imágenes
Editado
2
Puntos
1540
Visitas
0
Resp
Por alber hace 71 meses
Administrador
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate