Creo que tu problema esta en el HTTP_POST_FILES.. mira aver este otro código
Código PHP:
if (is_uploaded_file ($_FILES['userfile']['tmp_name'])) // COMPROBAR SI SE HA SUBIDO
{
$allowed_filetypes = array('.jpg','.gif','.bmp','.png','.jpeg'); // Formato de Archivos Permitidos
$max_filesize = 4194304; // Tamaño Máximo Archivo en BYTES (Actualmente 4MB).
$filename = $_FILES['userfile']['name'];
$ext = strtolower(substr($filename, strrpos($filename,'.'), strlen($filename)-1));
$ruta = "./wwwarchivos/";
if(!in_array($ext,$allowed_filetypes)) // ES UN ARCHIVO PERMITIDO?
die('El tipo de archivo que intentas subir no esta permitido');
if(filesize($_FILES['userfile']['tmp_name']) > $max_filesize) // SUPERA EL TAMAÑO MAXIMO?
die('El archivo que intentas subir supera las 4 Megas');
if(!is_writable($ruta)) // LA RUTA ES VALIDA?
die('No puedes subir el archivo al directorio especificado');
if(move_uploaded_file($_FILES['userfile']['tmp_name'],$ruta.$filename)) // SUBIR ARCHIVO
{
// ACCIONES CUANDO EL FICHERO YA ESTA SUBIDO
}
else
{
echo "<script language='Javascript'>alert('Ocurrio un error mientras se subia el archivo.\nPor favor, intentalo de nuevo')</script>";
}
}