¡Advertencia!
Este tema no ha tenido respuestas en más de un mes. Recuerda que si deseas añadir una nueva debes cumplir con las normas de la web.
Bueno, he visto mucha gente que no sabe hacer simples upload con php y quise preparles este manual para usteds.  :-[

Primeramente vamos a comenzar con la parte HTML, que es el formulario.
[php]<form method="post" action="subir.php" enctype="multipart/form-data"/>
<input type="file" name="subir"/>
<input type="submit" name="ok"/>
<form/>
[/php]

Ahora en la parte php utilizaremos un array que php nos cede para ver las propiedades de los archivos, es el array $_FILES.
$_FILES['subir']['name'] //Devuelve el nombre del archivo
$_FILES['subir']['size'] //Devuelve el tamaño del archivo en bytes.
$_FILES['subir']['type'] //Devuelve el tipo de archivo que es, ejemplo como image/png
$_FILES['subir']['tmp_name'] //Devuelve el nombre del archivo temporal que se subira al servidor.


Ahora, ya que les explique el array $_FILES, vamos a proceder con el source en php.
<?
if(isset($_FILES['subir'])){
if(in_array(NULL, $_POST)){ //Verificamos si dejo un campo vacio
exit("No haz seleccionado ninguna imagen");
}
$tamaño = $_FILES['subir']['size'];
$tamañomaximo = 1000; //Aqui pon el tamaño maximo que quieres en tu servidor.
if($tamaño > $tamañomaximo){ //Verificamos si traspaso los limite de tamaño
exit("Tu archivo a traspaso el limite permitido");
}
$carpeta = "log/"; //Directorio donde se va a guardar.
$nom = $carpeta.sha1_file($_FILES['subir']['name']).$_FILES['subir']['name'];
$nombre = (file_exists($_FILES['subir']['name'])) ? $nom : $_FILES['subir']['name']; //Comprobamos si el archivo existe
echo (@copy($_FILES['subir']['tmp_name'],$nombre) ? 'Subido con exito' : 'Error al subir el archivo'); //Comprobamos si se subio con exito
}
?>

Fuente: Yo PHPeros.net

¡Soy el fantasma de Habtium! Me dedico a reemplazar aquellas cuentas que han sido eliminadas. 👻
Buenas, Focux, no sé si me concoerás como BaDy, pero en PHPeros soy FeDe...

Que seguro que así me conoces mejor jejeje

Te comento, yo mejoraría en las variables $_FILES, poner el clásico $HTTP_POST_FILES para evitar posibles errores.

Veo que utilizas condicionales lineales lo que facilita la vista, muy buena opción! está explicado en uno de mis tutoriales en PHPeros jeje

Me gusta el código, es una buena subida, ahora para mejorarlo prueba a meterle Ajax... verás que mortal te queda la subida!

Un abrazo

¡Soy el fantasma de Habtium! Me dedico a reemplazar aquellas cuentas que han sido eliminadas. 👻
No sabia que eras FeDe  :juju:, intentare mejorar la variables y vere como me va metiendole un poco de ajax, gracias.

¡Soy el fantasma de Habtium! Me dedico a reemplazar aquellas cuentas que han sido eliminadas. 👻
Jajaj lo que es el mundo men jajajaja

Pueeeees haber, ya irás enseñando men! jajaj

¡Soy el fantasma de Habtium! Me dedico a reemplazar aquellas cuentas que han sido eliminadas. 👻