En esta pagina tenia como fijo, 4 archivos, 4 campos en donde definir que clase o tipo de archivo subia y no era obligatorio subir archivo alguno, asi que tenia que validar todos los posibles estados y combinaciones de archivos on y off.
Además tiene el validador de titulo de mensaje y otras weas más.
Es ordenado pero poco eficiente. De seguro hay alguna forma de hacer más funcional todo.
La parte de TRUE y FALSE se encarga de verificar si se sube o no el archivo al server. Addslashes es para que no te metan weas extrañas. Lo mismo con la verificacion de magic_quotes.
La función para renombrar el archivo es esta:
Código PHP:
//Separa nombre de extension desde el punto. Luego toma extension le añade un punto y renombra con valor rand el nombre del fichero.
//permitiendo subir archivos existentes para otras secciones sin reescribir ficheros en servidor.
function renombrar($nombre_foto)
{
$random=mt_rand(1,15000); //Creo valor aleatorio
$ext = substr(strrchr($nombre_foto,"."),1); //Saco la extension del archivo
$xext = ".".$ext; //extension con Punto (.jpg)
$n = basename($nombre_foto, $xext); //Nombre sin extension
$n = trim($n); //Sacando espacios adelante y lados
$n = ereg_replace(' ','_',$n); //Cambiando los espacios del medio con guion bajo
$nombre_foto = $n . "-" . $random . $xext; // Concatenando Nombre sin espacios y rand, con extension.
return $nombre_foto;
}
Me sirve para evitar que sobreescriban por error una foto o archivo adjuntado. (No falta que el que mete el mismo archivo en 2 campos por error y termina borrando algo importante)
Al final va el insert a la tabla con sus respectivos campos.
Hay harto codigo de debug que puedes borrar. y traté de comentar todo mientras lo hacia para acordarme después. Creo que lo necesitarás xDD
Suerte!!