aqui dejo el formulario y el script para cargar archivos al servidor;;; espero sea de ayuda
si alguien lo puede mejorar seria excelente
Código HTML:
<form enctype="multipart/form-data" action="subir.php" method="post">
Enviar este archivo: <input name="userfile" type="file">
<input value="Enviar" type="submit"> </form>
subir.php
Código PHP:
<?php
//directorio donde se almacenaran los archivos
$directorio = 'uploads/';
//extensiones permitidos a subir
$ext_permitidas = Array("zip","mpg","3gp","mpeg","txt","doc","docx","pdf","jpg");
//errores
$error = Array( 1 => "Extension no valida",
2 => "Archivo mayor a 3mb",
3 => "Archivo no cargado por POST");
$nombre_archivo = basename($_FILES['userfile']['name']); //obtenemos el nombre del archivo
$tipos = count($ext_permitidas); //numero de extensiones
$ext = explode(".", $nombre_archivo); //obtenemos la extension del archivo
echo '<pre>'; //preformateo para imprimir saltos de linea con \n
//verificamos que la extension se encuentre entre las permitidas
$ban = 'error';
for ($x=0; $x < $tipos; $x++)
{
if ($ext[1] == $ext_permitidas[$x])
$ban = 1;
}
if($ban == 'error')
echo "error: $error[1] \n";
//verificamos que el tamano sea menor a 3145728 bytes (3mb)
if ($_FILES['userfile']['size'] > 3145728)
{
echo "error: $error[2] \n";
$ban = 'error';
}
//verificamos que el archivo sea valido y cargado por HTTP POST de PHP
if ( !(is_uploaded_file($_FILES['userfile']['tmp_name'])) )
{
echo "error: $error[3] \n";
$ban = 'error';
}
//sino hay errores movemos el archivo temporal a nuestra carpeta
if($ban != 'error')
{
move_uploaded_file($_FILES['userfile']['tmp_name'], $directorio . $nombre_archivo);
echo "El archivo es valido y fue cargado con exito.\n";
}
else
echo "\nvuelve a intentar";
?>
saludos