Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/04/2016, 17:25
gesquivel
 
Fecha de Ingreso: abril-2016
Ubicación: Aguascalientes
Mensajes: 18
Antigüedad: 8 años
Puntos: 0
Pregunta Cómo renombrar un archivo en un formulario de carga

Que tal amigos, mi pregunta es la siguiente, tengo este archivo que me procesa la carga de una imagen al servidor, pero me gustaría saber cómo podría hacer para que al cargar la imagen el archivo se renombre generando un nombre aleatorio. Mi código es el siguiente:

Cita:
<?php session_start(); ?>
<?php
//conexion a la base de datos
mysql_connect("localhost", "root", "") or die(mysql_error()) ;
mysql_select_db("howllermain") or die(mysql_error()) ;

//comprobamos si ha ocurrido un error.
if ($_FILES["imagen"]["error"] > 0){
echo "ha ocurrido un error";
} else {
//ahora vamos a verificar si el tipo de archivo es un tipo de imagen permitido.
//y que el tamano del archivo no exceda los 100kb
$permitidos = array("image/jpg", "image/jpeg", "image/gif", "image/png");
$limite_kb = 3000;

if (in_array($_FILES['imagen']['type'], $permitidos) && $_FILES['imagen']['size'] <= $limite_kb * 1024){
//esta es la ruta donde copiaremos la imagen
//recuerden que deben crear un directorio con este mismo nombre
//en el mismo lugar donde se encuentra el archivo subir.php
$ruta = "imagenes/" . $_FILES['imagen']['name'];
//comprobamos si este archivo existe para no volverlo a copiar.
//pero si quieren pueden obviar esto si no es necesario.
//o pueden darle otro nombre para que no sobreescriba el actual.
if (!file_exists($ruta)){
//aqui movemos el archivo desde la ruta temporal a nuestra ruta
//usamos la variable $resultado para almacenar el resultado del proceso de mover el archivo
//almacenara true o false
$resultado = @move_uploaded_file($_FILES["imagen"]["tmp_name"], $ruta);
if ($resultado){
$nombre = $_FILES['imagen']['name'];
//'$nombre'
@mysql_query("INSERT INTO pp (userid,filedir,date)
VALUES ('{$_SESSION['id_usuario']}','$nombre',NOW())");
echo "el archivo ha sido movido exitosamente";
header("Location:/user/profile.php?id=$_SESSION[id_usuario]");
} else {
echo "ocurrio un error al mover el archivo.";
}
} else {
echo $_FILES['imagen']['name'] . ", este archivo existe";
}
} else {
echo "archivo no permitido, es tipo de archivo prohibido o excede el tamano de $limite_kb Kilobytes";
}
}

?>