Yo suelo usar move_uploaded_file()
Código PHP:
Ver originalif (!move_uploaded_file($_FILES[CONTROLADOR
]['tmp_name'], ROOT
.DS
.'imagenes'.DS
.CONTROLADOR
.DS
.$_FILES[CONTROLADOR
]['name'])) echo "error moviendo imagen";
Aunque en los casos de falla habría que revisar si el archivo subido cumple los requisitos, como tamaño, tipo, etc.