Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/08/2006, 21:56
Snake nS
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cordoba - Argentina
Mensajes: 503
Antigüedad: 19 años, 4 meses
Puntos: 1
Marca de agua sobre archivo temporal, posible?

Tengo este script para subir imagenes donde aplico una marca de agua....

El script funciona, pero que pasa, primero sube y destina la imagen y luego toma esa imagen y aplica el sello de agua remplasandola por la anterior ya que no me quedo otro remedio, lo que pienso yo demanda mas recursos de que si tomara el archivo temporal que el usuario seleccionase ya que tiene remplasar el viejo por el nuevo subiendo una ves mas el archivo.

Yo probe remplasar la ruta para el script del sello anteponiendo el codigo arriba de la funcion move_uploaded_file pero como la extension es un archivo .tmp y la ruta en mi servidor local pasa a ser C:/windows/temp/xxx.tmp seguramente de que al no ser una extension .jpg no lo acepte sin contar la ruta que pienso seria invalida.

Como puedo resolverlo?

Gracias.

Código:
// Creo la imagen a cual se le pondra el logo.
$imagen_dest = imagecreatefromjpeg($_FILES['fichero']['tmp_name']);
Código:
<?php
if (isset($_POST['submit'])) { 
    if(is_uploaded_file($_FILES['fichero']['tmp_name'])) { // verifica haya sido cargado el archivo
        $ruta='tatatata';
        if(move_uploaded_file($_FILES['fichero']['tmp_name'], $_FILES['fichero']['name'], $ruta . '/' . $id_usuario.'.jpg')) { // se coloca en su lugar final

// Esta imagen es el logo que se pondra.
$imagen_logo = imagecreatefrompng("logo.png");
// Defino ancho, alto del logo.
$ancho_logo = imagesx($imagen_logo);
$alto_logo = imagesy($imagen_logo);

// Creo la imagen a cual se le pondra el logo.
$imagen_dest = imagecreatefromjpeg("$ruta . '/' . $id_usuario.'.jpg'");
// Defino ancho, alto de la imagen que se le colocara el logo.
$ancho_dest = imagesx($imagen_dest);
$alto_dest = imagesy($imagen_dest);

// Defino la posicion donde se mostrara el logo dejando
// 10 pixeles de espacio. Se mostrara en la parte
// inferior derecho.
$ancho_muestra = ($ancho_dest - $ancho_logo) - 10;
$alto_muestra = ($alto_dest - $alto_logo) - 10;

// Sobre pongo el logo a la imagen.
imagecopyresized($imagen_dest,$imagen_logo,$ancho_muestra,$alto_muestra,0,0,$ancho_logo,$alto_logo,$ancho_logo,$alto_logo);

// Guardo la imagen que ya tiene el logo.
imagejpeg($imagen_dest, $ruta . '/' . $id_usuario.'.jpg' ,75);

// Destruyo las imagenes.
imagedestroy($imagen_dest);
imagedestroy($imagen_logo);

                    echo "<b>Upload exitoso!. Datos:</b><br>";
            echo "Nombre: <i><a href=\"".$_FILES['fichero']['name']."\">".$_FILES['fichero']['name']."</a></i><br>";
            echo "Tipo MIME: <i>".$_FILES['fichero']['type']."</i><br>";
                    echo "Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>";
                        echo "<br><hr><br>";
        }
    }

// A continuación el formulario
}
?>