Aqui te dejo el upload tal y como yo lo tengo (a mi me funciona bien). Si necesitas algo más ponlo aqui
Código PHP:
//Recojo las variables
$archivo=$_FILES['archivo']['tmp_name'];
$narchivo=$_FILES['archivo']['name'];
// Subo el archivo al servidor con mensaje de error si no lo sube
if(!move_uploaded_file($archivo, "articulos/".$narchivo))
{
echo "error al copiar el archivo<br>";
}
else
{
echo "archivo subido con exito<br>";
}