Problema de carga de archivo
Resuelto
Loic1983
Mensajes publicados
106
Estado
Miembro
-
Loic1983 Mensajes publicados 106 Estado Miembro -
Loic1983 Mensajes publicados 106 Estado Miembro -
Hola a todos,
he seguido un tutorial https://antoine-herault.developpez.com/tutoriels/php/upload/ y no he entendido bien algo porque no funciona.
Cuando intento subir un archivo me muestra: ¡Error al subir el archivo!
he hecho una página upload.html que contiene:
<form method="POST" action="upload.php" enctype="multipart/form-data">
<!-- Limitamos el archivo a 100Ko -->
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
Archivo: <input type="file" name="avatar">
<input type="submit" name="enviar" value="Enviar archivo">
</form>
y una página upload.php que contiene:
<?php
$dossier = 'upload/';
$fichero = basename($_FILES['avatar']['name']);
$tamaño_maximo = 100000;
$tamaño = filesize($_FILES['avatar']['tmp_name']);
$extensiones = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['avatar']['name'], '.');
//Inicio de las verificaciones de seguridad...
if(!in_array($extension, $extensiones)) //Si la extensión no está en el array
{
$error = 'Debes subir un archivo de tipo png, gif, jpg, jpeg, txt o doc...';
}
if($tamaño>$tamaño_maximo)
{
$error = 'El archivo es demasiado grande...';
}
if(!isset($error)) //Si no hay error, se sube
{
//Formateamos el nombre del archivo aquí...
$fichero = strtr($fichero,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichero = preg_replace('/([^.a-z0-9]+)/i', '-', $fichero);
if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichero)) //Si la función devuelve TRUE, es que ha funcionado...
{
echo '¡Subida realizada con éxito!';
}
else //De lo contrario (la función devuelve FALSE).
{
echo '¡Error al subir!';
}
}
else
{
echo $error;
}
?>
pero no funciona. Debo haber hecho algo mal...
¿Alguien ve tal vez lo que he hecho mal o olvidado?
Configuración: Windows Vista / Internet Explorer 7.0
he seguido un tutorial https://antoine-herault.developpez.com/tutoriels/php/upload/ y no he entendido bien algo porque no funciona.
Cuando intento subir un archivo me muestra: ¡Error al subir el archivo!
he hecho una página upload.html que contiene:
<form method="POST" action="upload.php" enctype="multipart/form-data">
<!-- Limitamos el archivo a 100Ko -->
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
Archivo: <input type="file" name="avatar">
<input type="submit" name="enviar" value="Enviar archivo">
</form>
y una página upload.php que contiene:
<?php
$dossier = 'upload/';
$fichero = basename($_FILES['avatar']['name']);
$tamaño_maximo = 100000;
$tamaño = filesize($_FILES['avatar']['tmp_name']);
$extensiones = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['avatar']['name'], '.');
//Inicio de las verificaciones de seguridad...
if(!in_array($extension, $extensiones)) //Si la extensión no está en el array
{
$error = 'Debes subir un archivo de tipo png, gif, jpg, jpeg, txt o doc...';
}
if($tamaño>$tamaño_maximo)
{
$error = 'El archivo es demasiado grande...';
}
if(!isset($error)) //Si no hay error, se sube
{
//Formateamos el nombre del archivo aquí...
$fichero = strtr($fichero,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichero = preg_replace('/([^.a-z0-9]+)/i', '-', $fichero);
if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichero)) //Si la función devuelve TRUE, es que ha funcionado...
{
echo '¡Subida realizada con éxito!';
}
else //De lo contrario (la función devuelve FALSE).
{
echo '¡Error al subir!';
}
}
else
{
echo $error;
}
?>
pero no funciona. Debo haber hecho algo mal...
¿Alguien ve tal vez lo que he hecho mal o olvidado?
Configuración: Windows Vista / Internet Explorer 7.0