Bienvenid@s, hoy veremos un ejemplo de como subir imágenes con PHP. Para poder subir archivos al servidor es necesario crear un formulario con el atributo enctype='multipart/form-data' y un campo del tipo file para adjuntar el archivo.
En este caso sólo permitiremos la subida de imágenes, concretamente, con formato png, jpg, jpeg y gif y no podrán superar el tamaño de 1 MB.
La ruta donde se guardarán las imágenes es en una carpeta llamada "files", así que para que el ejemplo funcione correctamente, en la misma carpeta donde tienes alojado el script de ejemplo tendrás que crear una carpeta con el nombre "files", o modificar la ruta en el script hacia la carpeta que quieras.
Script de ejemplo:
<?php $resultado = null; if (isset($_POST['formulario'])) { $name = $_FILES['imagen']['name']; $tmp_name = $_FILES['imagen']['tmp_name']; $error = $_FILES['imagen']['error']; $size = $_FILES['imagen']['size']; $type = $_FILES['imagen']['type']; $max_size = 1024 * 1024 * 1; //1mb if ($error) { $resultado = 'Ha ocurrido un error'; } else if($size > $max_size) { $resultado = 'El tamaño de la imagen supera el máximo permitido'; } else if ($type != 'image/png' && $type != 'image/jpg' && $type != 'image/jpeg' && $type != 'image/gif') { $resultado = 'Error sólo están permitidos los formatos png|jpg|gif'; } else { $ruta = 'files/'.$name; move_uploaded_file($tmp_name, $ruta); $resultado = "La imagen '$name' ha sido guardada con éxito"; } } ?> <strong><?php echo $resultado; ?></strong> <form method='post' enctype='multipart/form-data' action='<?php echo $_SERVER['PHP_SELF']; ?>'> Subir imagen: <input type='file' name='imagen'> <input type='hidden' name='formulario'> <input type='submit' value='Subir'> </form>
No hay comentarios:
Publicar un comentario