Foros del Web » Programando para Internet » PHP »

Impedir que se sobreescriba un fichero

Estas en el tema de Impedir que se sobreescriba un fichero en el foro de PHP en Foros del Web. Hola a todos, veréis, tengo una duda acerca de subir imágenes a un servidor. Veréis, las imágenes se suben bien, pero si se suben dos ...
  #1 (permalink)  
Antiguo 11/05/2006, 13:13
Avatar de Gryphus  
Fecha de Ingreso: febrero-2003
Ubicación: Spain
Mensajes: 216
Antigüedad: 14 años, 10 meses
Puntos: 0
Impedir que se sobreescriba un fichero

Hola a todos, veréis, tengo una duda acerca de subir imágenes a un servidor.

Veréis, las imágenes se suben bien, pero si se suben dos con el mismo nombre, se sobreescribe la nueva por la que ya estaba antes.

He puesto la función rand del 0 al 9000 para que la imagen se llame nombre_(numero-al-azar-del-0-al-9000).jpg

Es improbable que suceda que dos imágenes se llamen igual, pero podría suceder y no quiero que se me sobreescriba a la imagen anterior.

¿Hay algún modo de impedir que se sobreescriba y que devuelva un mensaje de que el nombre de la imagen ya existe?

Aquí tenéis el script para subir las imágenes (lo cogí de una web):
Código PHP:
$nombre_archivo $HTTP_POST_FILES['dibujo']['name'];
$tipo_archivo $HTTP_POST_FILES['dibujo']['type'];
$tamano_archivo $HTTP_POST_FILES['dibujo']['size'];

if (!((
strpos($tipo_archivo"gif") || strpos($tipo_archivo"jpeg")) && ($tamano_archivo 100000)))
{
echo 
"La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 100 Kb máximo.</td></tr></table>";
}
else
{
if (
move_uploaded_file($HTTP_POST_FILES['dibujo']['tmp_name'], "dibujos/".$nombre_archivo))
{
echo 
"El archivo ha sido cargado correctamente.<br />";
}
else
{
echo 
"Ocurrió algún error al subir el fichero. No pudo guardarse.";
}

Saludos y gracias de antemano ;)

EDIT: Muchísimas gracias Mickel, funciona a la perfección ;).

Última edición por Gryphus; 11/05/2006 a las 13:43
  #2 (permalink)  
Antiguo 11/05/2006, 13:22
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 15 años, 7 meses
Puntos: 7
usa la funcion file_exists(): http://www.php.net/manual/es/function.file-exists.php
__________________
No tengo firma ahora... :(
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 17:39.