Yo lo hago de la siguiente manera:
formulario html:
Código PHP:
<form enctype="multipart/form-data" action="prueba.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>
programa php:
Código PHP:
<?php
// In PHP 4.1.0 or later, $_FILES should be used instead of $HTTP_POST_FILES.
$archivo = $HTTP_POST_FILES['userfile']['name'];
echo "Archivo Recibido:" .$archivo."<br>";
$dir = $HTTP_POST_FILES['userfile']['tmp_name'];
echo "Directorio temporal: ".$dir."<br>";
if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) {
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], "/var/www/html/DBNAME/UPLOADS/".$HTTP_POST_FILES['userfile']['name']);
} else {
echo "Possible file upload attack. Filename: " . $HTTP_POST_FILES['userfile']['name'];
}
?>
donde "/var/www/html/DBNAME/UPLOADS/" es el directorio donde los subo.
espero te sirva