Cita:
Iniciado por davidtorresruiz2004
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...