elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Script para mostrar foto recientemente subida
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Script para mostrar foto recientemente subida  (Leído 4,648 veces)
sReOn_1R


Desconectado Desconectado

Mensajes: 403



Ver Perfil
Script para mostrar foto recientemente subida
« en: 25 Agosto 2010, 22:02 pm »

Hola estoy intentando hacer un registro en el que se necesita enviar un archivo (una foto) y que al cambiar el input file se muestra la imagen en un iframe...
para el formulario tengo algo como esto:
<form action="uploadphoto.php" target="iframe">
<input type='file' name='file' id='foto' onchange='javascript: submit();'/>
</form>
Pero bueno, lo que consigo es cambiar la foto y que se muestre,pero para esto lo que hago es guardarlo en el servidor y mostrar esa imagen. Hasta ahí lo tengo todo bien, pero quiero que si el usuario prefiere cambiar otra foto, guarde esa foto, borre la imagen anterior y se muestre esa foto.

uploadphoto.php:
Citar
<?php
$tempdir = "temporary_photos/";
/*--------------------FUNCTIONS----------------------------------
-----------------------------------------------------------------*/
function imprimir_file() {
   //Comprobamos si se ha mandado un archivo es decir un tmp_name
   if (isset($_FILES['file']['tmp_name'])) {
         //Metemos toda la ruta del archivo en una variable,para cada vez que se realice este script comprobar si hay un archivo anterior,y si lo hay,lo borra.
      $GLOBALS['rutatempfile'] = $GLOBALS['tempdir'].$_FILES['file']['name'];
         //Si se ha mandado, lo movemos a una carpeta definida para fotos temporales
      if (move_uploaded_file($_FILES['file']['tmp_name'],$GLOBALS['rutatempfile'])) {
         //Ahora imprimimos toda esa ruta,es decir,imprimimos la imagen,en lo que será el iframe
         echo "<img src='".$GLOBALS['rutatempfile']."'>";
      } else {
         echo "Algun error ha ocurrido al mover el archivo";
         };
   }    else {
   echo "No has enviado ningun archivo";
   };
};
/*-------------------------END FUNCTIONS------------------------
----------------------------------------------------------------*/
//Si no existe esa variable,no tiene una imagen que tiene que borrar
if ($rutatempfile) {
      //Parece que se ha quedado una imagen temporal,tiene que ser borrada.
      echo "Se va a borrar el archivo: <br><img src='".$rutatempfile."'>";
      if (unlink($rutatempfile)) {
      echo "Se ha borrado el anterior";
      } else {
      echo "No se ha podido borrar por algo";
      };
   } else {
   //Llamamos a la funcion para imprimir la variable file
   imprimir_file();
    echo $rutatempfile; //Se consigue mostrar la ruta de la imagen por lo que la variable es global
};
?>
$rutatempfile lo utilizo para cuando inicie el script poder saber si ya se ha subido una foto anteriormente y borrarla..
bueno me imagino que viendo el script y con la explicacion ha quedado claro espero que me podais ayudar..Gracias!


En línea






sReOn_1r
sReOn_1R


Desconectado Desconectado

Mensajes: 403



Ver Perfil
Re: Script para mostrar foto recientemente subida
« Respuesta #1 en: 25 Agosto 2010, 22:31 pm »

Bueno según estoy pensando puede que ser que no guarde las variables de una ejecución del script a otra,¿no? es lo unico que se me ocurre asi que para no colapsar el servidor con fotos temporales,sería hacer un cron para que cada cierto tiempo,borre los archivos...
¿Estoy en lo cierto? :-/


En línea






sReOn_1r
Mr. Crowley


Desconectado Desconectado

Mensajes: 343


Costa Rica


Ver Perfil WWW
Re: Script para mostrar foto recientemente subida
« Respuesta #2 en: 25 Agosto 2010, 22:33 pm »

Si los archivos tienen el mismo nombre entonces, generalmente, le va a cargar el primero que subio. Se guarda en la cache del navegador. Ya me ha pasado y es un dolor de bolas.
En línea

Mi blog personal: www.calirojas.com
neopuerta360

Desconectado Desconectado

Mensajes: 240


La mejor comunidad de neopets


Ver Perfil WWW
Re: Script para mostrar foto recientemente subida
« Respuesta #3 en: 7 Septiembre 2010, 02:36 am »

Estas usando un registro y reconocimiento de usuarios por que yo tengo un codigo para esso que no usa base de datos sql.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines