Antiguo 09-jun-2008, 01:06   #1 (permalink)
Usuario activo
 
Avatar de davidtorresruiz2004
 
Fecha de Ingreso: abril-2008
Mensajes: 30
davidtorresruiz2004 sin puntos positivos o negativos
Question Como reemplazo el nombre de un archivo que subo por examinar

Saludos!!.. yo quiero programar la subida del archivo jpg que cuando suba a la carpeta uploads o a la pagina modifique el nombre y lo coloque por numeros o series por decir el archivo tiene el nombre de (David) pero cuando lo subi se modifico (001).


Código HTML:
<?
// Configuración
$folder = "uploads/"; // Carpeta a la que queremos subir los archivos
$maxlimit = 5000000; // Máximo límite de tamaño (en bits)
$allowed_ext = "rar,jpg"; // Extensiones permitidas (usad una coma para separarlas)
$overwrite = "no"; // Permitir sobreescritura? (yes/no)

$match = ""; 
$filesize = $_FILES['userfile']['size']; // toma el tamaño del archivo
$filename = strtolower($_FILES['userfile']['name']); // toma el nombre del archivo y lo pasa a minúsculas


if(!$filename || $filename==""){ // mira si no se ha seleccionado ningún archivo
   $error = "- Ningún archivo selecccionado para subir.<br>";
}elseif(file_exists($folder.$filename) && $overwrite=="no"){ // comprueba si el archivo existe ya
   $error = "- El archivo <b>$filename</b> ya existe<br>";
}

// comprobar tamaño de archivo
if($filesize < 1){ // el archivo está vacío
   $error .= "- Archivo vacío.<br>";
}elseif($filesize > $maxlimit){ // el archivo supera el máximo
   $error .= "- Este archivo supera el máximo tamaño permitido.<br>";
}

$file_ext = preg_split("/\./",$filename); // aquí no tengo claro lo que hace xD
$allowed_ext = preg_split("/\,/",$allowed_ext); // ídem, algo con las extensiones
foreach($allowed_ext as $ext){
   if($ext==$file_ext[1]) $match = "1"; // Permite el archivo
}

// Extensión no permitida
if(!$match){
   $error .= "- Este tipo de archivo no está permitido: $filename<br>";
}

if($error){
   print "Se ha producido el siguiente error al subir el archivo:<br> $error"; // Muestra los errores
}else{
   if(move_uploaded_file($_FILES['userfile']['tmp_name'], $folder.$filename)){ // Finalmente sube el archivo
      print "<b>$filename</b> se ha subido correctamente!"; //el mensaje que saldra cuando el archivo este subido
   }else{
      print "Error! Puede que el tamaño supere el máximo permitido por el servidor. Inténtelo de nuevo."; // Otro error
   }
}

?>
<form>
     <INPUT TYPE="button" VALUE="Atrás" onClick="history.back()">
</form>
davidtorresruiz2004 está desconectado  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Citando
Antiguo 13-jun-2008, 21:48   #2 (permalink)
Usuario activo
 
Fecha de Ingreso: junio-2008
Mensajes: 9
yrduk sin puntos positivos o negativos
Predeterminado

Cita:
Iniciado por davidtorresruiz2004 Ver Mensaje
Saludos!!.. yo quiero programar la subida del archivo jpg que cuando suba a la carpeta uploads o a la pagina modifique el nombre y lo coloque por numeros o series por decir el archivo tiene el nombre de (David) pero cuando lo subi se modifico (001).


Código HTML:
<?
// Configuración
$folder = "uploads/"; // Carpeta a la que queremos subir los archivos
$maxlimit = 5000000; // Máximo límite de tamaño (en bits)
$allowed_ext = "rar,jpg"; // Extensiones permitidas (usad una coma para separarlas)
$overwrite = "no"; // Permitir sobreescritura? (yes/no)

$match = ""; 
$filesize = $_FILES['userfile']['size']; // toma el tamaño del archivo
$filename = strtolower($_FILES['userfile']['name']); // toma el nombre del archivo y lo pasa a minúsculas


if(!$filename || $filename==""){ // mira si no se ha seleccionado ningún archivo
   $error = "- Ningún archivo selecccionado para subir.<br>";
}elseif(file_exists($folder.$filename) && $overwrite=="no"){ // comprueba si el archivo existe ya
   $error = "- El archivo <b>$filename</b> ya existe<br>";
}

// comprobar tamaño de archivo
if($filesize < 1){ // el archivo está vacío
   $error .= "- Archivo vacío.<br>";
}elseif($filesize > $maxlimit){ // el archivo supera el máximo
   $error .= "- Este archivo supera el máximo tamaño permitido.<br>";
}

$file_ext = preg_split("/\./",$filename); // aquí no tengo claro lo que hace xD
$allowed_ext = preg_split("/\,/",$allowed_ext); // ídem, algo con las extensiones
foreach($allowed_ext as $ext){
   if($ext==$file_ext[1]) $match = "1"; // Permite el archivo
}

// Extensión no permitida
if(!$match){
   $error .= "- Este tipo de archivo no está permitido: $filename<br>";
}

if($error){
   print "Se ha producido el siguiente error al subir el archivo:<br> $error"; // Muestra los errores
}else{
   if(move_uploaded_file($_FILES['userfile']['tmp_name'], $folder.$filename)){ // Finalmente sube el archivo
      print "<b>$filename</b> se ha subido correctamente!"; //el mensaje que saldra cuando el archivo este subido
   }else{
      print "Error! Puede que el tamaño supere el máximo permitido por el servidor. Inténtelo de nuevo."; // Otro error
   }
}

?>
<form>
     <INPUT TYPE="button" VALUE="Atrás" onClick="history.back()">
</form>
Hola, simplemente tienes que cambiar el contenido de la variable $filename que recoje el nombre del archivo (tmpname)...

Solo cambia ésta línea:
Código PHP:
$filename strtolower($_FILES['userfile']['name']); // toma el nombre del archivo y lo pasa a minúsculas 
por ésta:
Código PHP:
$time time(); // aqui generarias algo asi como 17205532 (hora, minutos, segundos, microsegundos) 
$rand rand(111,999); // aqui harias un rand para estar totalmente seguros que no se repetiria el nombre del archivo

$filename $time.$rand// tomo el valor del time y del random... 
Espero que te sirva! saludos...
yrduk está desconectado  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Citando
Respuesta

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Activado

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Explicacion con programacion de como subir un archivo a una Pagina Web davidtorresruiz2004 Programación y Diseño Web 3 24-jul-2008 11:37
Vínculo En Archivo .swf Insertado En Dreamweaver zaida Programación y Diseño Web 2 12-dic-2007 09:22
Problema Con Modificación Archivo .fla zaida Programación y Diseño Web 2 08-nov-2007 09:41
Obtener el nombre de archivo de una ruta (string) en PHP Soporte24hrs Programación y Diseño Web 0 11-oct-2007 15:13
Web para examinar el funcionamiento de las Redes de Internet hostservi Asuntos Técnicos, Seguridad y Configuración 0 10-jun-2007 10:53

Alojamiento web, Hosting Reseller, Servidores Dedicados - All in Hosting

La franja horaria es GMT. Ahora son las 23:31.

Rioserver
Web hosting y dominios
Planes de hosting desde 2.90 USD
Soporte 24/7

www.rioserver.com

Infranetworking.com
Hosting PHP-MySQL
desde $3,5 dólares al mes!
Servidores Dedicados Hosting Reseller
www.infranetworking.com

Hosting en Mexico
500 Mb de espacio 29 pesos al mes
Soporte 24 h, cpanel,
Solicite prueba gratuita.

www.albergueweb.com.mx

AQPhost es Hosting Reseller
Te asesoramos
Inicia tu empresa de Web Hosting
¡hoy mismo!

www.aqphost.com/revendedores.htm


     ComunidadHosting  

La más grande comunidad dedicada al web hosting en nuestro idioma.

Para anunciar en ComunidadHosting, o para información general, por favor utiliza el formulario de contacto.







Desarrollado por: vBulletin® Versión 3.7.4
Derechos de Autor ©2000 - 2008, Jelsoft Enterprises Ltd.
Traducido por mcloud de vBhispano.com

Search Engine Friendly URLs by vBSEO 3.2.0