Bien ya lo tengo, la verdad es que a veces uno pide ayuda pero no es sino pensar un poco. Ultimamente aqui no ayudan, no debemos perder esa filosofia de ayuda, de eso se trata este foro de ayudarnos mutuamente.
en fin, aqui va el codigo por si a alguien le interesa:
Código HTML:
<form action="upload.php" method="post" enctype="multipart/form-data">
Selecciona el archivo a subir:<input type="file" name="archivo_a_subir" id="file"> <br>
<button>Upload File</button></form>
Código PHP:
//Configuramos primero la subida
define("MAX_TAM",524288); //El tamaño máximo, en bytes del archivo (0.5 MB)
define("RUTA_ARCHIVO","./archivos_subidos");
$ext_permitidas=array('.jpg','.gif','.doc','.xls','.pdf','.docx','.odt','.ppt','.pps','.zip','.ods'); /*Éstas serán las extensiones permitidas */
$archivo=$_FILES['archivo_a_subir']['name'];//Obtenemos los datos del archivo
$extension=substr($archivo,strpos($archivo,'.'),strlen($archivo)-1); /*Obtenemos la
extensión del archivo*/
/*Ahora comprobaremos si el archivo subido tiene alguna de las extensiones
permitidas, si no, terminamos*/
if(!in_array($extension,$ext_permitidas)){
die("El archivo tiene una extensión no permitida: $extension");}
//Ahora comprobamos el tamaño del archivo, si es demasiado grande, terminamos
$tam=filesize($_FILES['archivo_a_subir']['tmp_name']); /*Obtenemos el tamaño del
archivo */
if($tam>MAX_TAM){ //Lo comparamos
die("El archivo es demasiado grande: $tam");}
/*Ahora ya sólo falta almacenar el archivo en una carpeta en nuestro servidor:
./archivos_subidos */
//Primero comprobamos si el directorio tiene permisos 777 para almacenar el archivo
if(!is_writable(RUTA_ARCHIVO)){
die("No se puede almacenar el archivo en el servidor. Por favor,
inténtelo más tarde o contacte con el administrador.");
}
//Si el directorio tiene 777, almacenamos el archivo ahí
if(move_uploaded_file($_FILES['archivo_a_subir']['tmp_name'],RUTA_ARCHIVO . "/".
$archivo)){
echo "El archivo ha sido correctamente almacenado."; /*Todo correctamente
hecho.*/
exit;
}else
{
echo "Ha habido un error al subir el archivo, por favor, inténtelo
más tarde."; //Ha sucedido un inesperado error
exit; //Salimos
}
y para ver el archivo o descargarlo
Código PHP:
//definimos el path de acceso
$path = "archivos_subidos/";
//abrimos el directorio
$dir = opendir($path);
//Mostramos las informaciones
while ($elemento = readdir($dir))
{
if ($elemento == '.' || $elemento =='..') {
} else {
echo "<a href=" .$path. "" .$elemento. ">" .$elemento. "<br></a>";
}
}
//Cerramos el directorio
closedir($dir);
Muxcha suerte a todos y gracias