Foros del Web » Programando para Internet » PHP »

subir archibo no duplicados..

Estas en el tema de subir archibo no duplicados.. en el foro de PHP en Foros del Web. Hola,, tengo un problema con un script.Inicialmente funciona perfectamente para subir imajen a una carpeta remota, pero el problema es que cuando suben un archibo ...
  #1 (permalink)  
Antiguo 25/04/2008, 08:59
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
subir archibo no duplicados..

Hola,, tengo un problema con un script.Inicialmente funciona perfectamente para subir imajen a una carpeta remota, pero el problema es que cuando suben un archibo con un nombre que ya exixte en la carpeta remota, no da el aviso, simplemente lo modifica. Sabria alguien decirme que debo modificar del script para que la imajen no la duplique, es decir que crea un digito mas ( si sube una foto "moto.jpg" y ya existe pues que la crea "1moto.jpg"(por ejemplo) o que simplemente de un error(vuelva a intentarlo, el archibo ya exixte con este nombre) o algo asi ???
aqui oslo dejo..
gracias...

"archibo"enviar-foto.php"

<form action="subir_archivo_personal-restringido.php" method="POST" enctype="multipart/form-data" name="form1">
<p align="center">
<input name="archivo" type="file" id="archivo" value="" size="32" /></p>
<p align="center">
<label></label>
<input name="radiobutton" type="radio" value="radiobutton" checked>
Enviando la foto nos das permiso para que podamos publicar la imagen<em><strong> en nuestra web</strong></em>. </p>
<p align="center">
<label></label>
<label></label>
<input type="submit" name="Submit" value="Enviar" />&nbsp;</p>
</form>

"archibo"subir_archivo_personal-restringido.php.

<?php
$directorio_archivo = "./subir-fotos-personal/"; // tipo /home/user/public_html/archivos/
$nombre = strtr($_FILES['archivo']['name'], "ñ'ÁÉÍÓÚÀÈÌÒÙáéíóúäëïöüàèìòù ", "n-AEIOUAEIOUaeiouaeiouaeiou_");
$tamanio = $_FILES['archivo']['size'];
$tipo = $_FILES['archivo']['type'];
copy($_FILES['archivo']['tmp_name'], $directorio_archivo.$nombre);
echo "la foto ha sido enviada correctamente a nuestra base de datos <br>";
?>
  #2 (permalink)  
Antiguo 25/04/2008, 09:03
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Re: subir archibo no duplicados..

Código PHP:
if(!is_file($directorio_archivo.$nombre)) copy($_FILES['archivo']['tmp_name'], $directorio_archivo.$nombre);
else echo 
"El archivo existe"
Creo que así se hacia :D
  #3 (permalink)  
Antiguo 25/04/2008, 09:10
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Re: subir archibo no duplicados..

podrias indicarme por favor exactamente en que linea debo agregarlo ???
gracias...
  #4 (permalink)  
Antiguo 25/04/2008, 09:12
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Re: subir archibo no duplicados..

si la lees entera (que es lo que deberias hacer) verás que solo puse una condicion, y su else, delante de una sentencia que ya tenias tu.

A ver si descubres dónde está! :D
  #5 (permalink)  
Antiguo 25/04/2008, 10:02
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Re: subir archibo no duplicados..

Disculpa por la torpeza...
NO me ha funcionado, lo he modificado, lo he enviado al remoto, y al visualizar, la página me sale en blanco ( ni error ni nada ), la pagina en blanco..
  #6 (permalink)  
Antiguo 25/04/2008, 10:05
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Re: subir archibo no duplicados..

pon........

if(!is_file($directorio_archivo.$nombre)) {
copy($_FILES['archivo']['tmp_name'], $directorio_archivo.$nombre);
echo "la foto ha sido enviada correctamente a nuestra base de datos <br>";
}
else echo "El archivo existe";

si no funciona, mira de pegar el código de nuevo o.o
  #7 (permalink)  
Antiguo 25/04/2008, 10:38
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Re: subir archibo no duplicados..

si funciona... muchas gracias... ers el mejor...!!!!!!!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:44.