Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: basickdagger en 11 Febrero 2013, 18:17 pm



Título: file_exists comprobar nombre de un archivo
Publicado por: basickdagger en 11 Febrero 2013, 18:17 pm
bueno mi duda es esta, tengo un codigo para subir imagenes en php a mi servidor, todo funciona bien el problema surge cuando algún archivo tiene el mismo nombre, como puedo comprobar esto? creo q se necesita file_exists pero no logro q funcione les muestro mi codigo...

Código:

$tamano = $_FILES [ 'file' ][ 'size' ]; // tamaño del fichero
$tamaño_max="50000000000"; // Tamaño maximo permitido
if( $tamano < $tamaño_max){ // opruebo tamaño
$destino = 'logos' ; // Carpeta donde guardo el archivo
$sep=explode('image/',$_FILES["file"]["type"]);
$tipo=$sep[1]; // Obtengo el tipo de imagen que es permitido
if($tipo == "gif" || $tipo == "PNG" || $tipo == "bmp" || $tipo == "jpeg" || $tipo == "jpg" || $tipo == "JPG" || $tipo == "JPEG" || $tipo == "png"){


move_uploaded_file ( $_FILES [ 'file' ][ 'tmp_name' ], $destino . '/' .$logotipo);  // Subo el archivo

 


el problema es q se sube pero en caso de repetire la imagen muestra un error, como puedo comprobar el nombre, antes de subirla?


Título: Re: file_exists comprobar nombre de un archivo
Publicado por: EFEX en 11 Febrero 2013, 22:11 pm
Para saber el nombre del archivo
Código
  1. echo $_FILES["file"]["name"];
  2.  

Para saber si existe el archivo podrias llevar un registro de los archivos subidos con una base de datos pero sino php tiene una función para saber si existe o no el archivo(is_file)
Código
  1. var_dump(is_file('../index.php'));
  2. var_dump(is_file('archivo/archivo/index.php'));
  3.  

Y por último para que no se repitan las imagenes, deberías renombrarlas, concatenando un numero aleatorio cuando son subidas, podes utilizar la funcion de php rand().


Título: Re: file_exists comprobar nombre de un archivo
Publicado por: basickdagger en 13 Febrero 2013, 20:42 pm
hola antes q nada gracias por la respuesta, logre resolverlo de otra forma, poniendo permisos de escritura en el servidor, así cuando subo un archivo con el mismo nombre este lo reemplaza... aunque se q no es lo idoneo por el momento me sirve, y tendre q trabajar en otras cosas por el momento...


gracias