Índice

Enviar un archivo desde el cliente y el servidor

1. Visión de conjunto

Algunos sitios web pueden ofrecer a los usuarios transferir documentos desde su equipo al servidor web: mandar un CV (sitio web de búsqueda de empleo), adjuntar documentos a un mensaje (sitio web de correo electrónico) o simplemente almacenar el documento en el servidor (sitio web de almacenamiento).

En la terminología anglosajona, este característica se denomina «file upload».

Inversamente, muchos sitios web permiten a los usuarios descargar («download») documentos desde el servidor web a su equipo.

Estas dos características son aplicaciones particulares de las técnicas presentadas en este capítulo.

2. Cargar un archivo a partir del cliente: «file upload»

Esta funcionalidad, muy sencilla de poner en práctica en PHP, requiere dos operaciones:

  • en un formulario, mostrar una zona que permita al usuario especificar la ubicación del archivo en su equipo;

  • en el script de procesamiento del formulario, recuperar el archivo enviado por el usuario y hacer algo con él.

En la primera parte de este capítulo, hemos visto la posibilidad de poner en un formulario una zona para especificar la ubicación de un archivo en un equipo (type="file").

Poner una zona de este tipo no es suficiente. Para que se realice la transferencia del archivo, hay que añadir el atributo enctype="multipart/form-data" en la etiqueta <form>:

<form action="formulario.php" method="post"  ...