Empezemos hacer pruebas.
PHP impone limitaciones a la hora de subir archivos .. así que deberías probar en principio con archivos pequeños (hablemos de unos pocos KBytes).
Si eso te funciona ..podríamos pensar en restricciones de PHP (configuración).
Revisa los permisos de escritura del directorio donde subes tus archivos, en concreto en tu ejemplo los subes al mismo directorio donde están los scripts PHP (este) .. Tiene que tener permisos de escritura suficientes (no sé si haces pruebas en windows o linux).
También es necesario verificar que en $_FILES tengas los datos sobre el archivo que estás subiendo. Puedes verificarlo haciendo:
Código PHP:
<?
echo "<pre>";
print_r($_FILES);
echo "</pre>";
También ten cuidado con esos "if()" y "else" .. yo los cerraría todos ..
Código PHP:
<?
if (isset($_POST['submit'])) {
if(is_uploaded_file($_FILES['fichero']['tmp_name'])) { // verifica haya sido cargado el archivo
if(move_uploaded_file($_FILES['fichero']['tmp_name'], $_FILES['fichero']['name'])) { // se coloca en su lugar final
echo "<b>Upload exitoso!. Datos:</b><br>";
echo "Nombre: <i><a href=\"".$_FILES['fichero']['name']."\">".$_FILES['fichero']['name']."</a></i><br>";
echo "Tipo MIME: <i>".$_FILES['fichero']['type']."</i><br>";
echo "Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>";
echo "<br><hr><br>";
} else {
echo "No se pudo mover el archivo";
}
} else {
echo "No subió el archivo";
}
} else {
echo "No se envió el formulario .. o acceso directo incorrecto al script";
}
(no sé si los habré cerrado bien todos .. pero esa es la idea).
Un saludo,