Blog
Hoy en día es muy común encontrarse con la necesidad de subir archivos en PHP, es por ese motivo que en este tutorial aprenderemos a realizarlo con un ejemplo muy sencillo.
Si tenés pocos conocimientos en PHP te recomiendo leer este otro tutorial donde se explica cómo crear un formulario básico en PHP.
Para realizar esto necesitamos de dos partes, por un lado un formulario en HTML y por el otro un script en PHP. Desde el formulario en HTML el usuario va a cargar un archivo y enviarlo al servidor, luego el script en PHP va a recibir el archivo y guardarlo en un directorio.
Cómo subir archivos en PHP
Para empezar vamos a crear un archivo en HTML el cual contendrá el siguiente código:
<form method="post" action="upload.php" enctype="multipart/form-data"> <input type="file" name="Archivo"> <input type="submit" name="enviar" value="Enviar"> </form>
Es importante prestar atención a la propiedad del formulario enctype=”multipart/form-data”, si no se indicara esta, el archivo no se enviaría al servidor y en consecuencia no tendría ningún efecto.
Una vez que tenemos nuestro formulario en HTML podemos pasar al script en PHP el cual recibirá el archivo y lo guardará en un directorio de nuestro servidor. Para esto crearemos un archivo llamado upload.php (tiene que coincidir con la propiedad action del formulario en HTML) con el siguiente código:
<?php move_uploaded_file($_FILES['archivo']['tmp_name'],'images/upload/'.$FILES['archivo']['name']); ?>
Solamente con esa linea de código ya estamos subiendo nuestro archivo. La función move_uploaded_file es la encargada de hacer dicha tarea, esta función recibe como primer parámetro el archivo a subir y como segundo parámetro la ruta en nuestro servidor donde queremos guardarlo. Obviamente que hay que crear el directorio images/upload/ (en nuestro caso) y darle permisos de escritura (777) para que PHP pueda almacenar el fichero.
Una cosa importante a mencionar es que el array $_FILES contiene información del archivo que usamos para obtener el nombre temporal con el que se ha subido y su nombre real. Otra cosa a tener en cuenta es que el nombre que usamos en nuestro código para identificar al archivo (en nuestro caso es ‘archivo’) lo definimos con la propiedad name en nuestro HTML, pero el nombre puede variar según nuestros gustos.
Bueno gente, espero que les haya sido útil este tutorial y ante cualquier problema no duden en dejar un comentario.
Hola!
Solo tengo una duda… obtengo error cuando intento cargar ficheros con espacios o caracteres especiales (Ñ, ó, etc…).
¿Será algo del server o de mi PHP?
Gracias.