De la misma manera que hace un tiempo publiqué un post en el que explicaba una situación real en la que un cliente me pidió un sistema para crear pdf con el menú de un restaurante, en esta ocasión os voy a hablar de otro tipo de mini-proyecto que tuve que hacer para una productora.
Tabla de contenidos
PETICION DEL CLIENTE
El cliente, en esta ocasión una productora de televisión, en un primer momento me pidió una página web en la que entre otras secciones, mostraba una galería de videos con sus últimos Spots grabados.
A la hora de hacer la propuesta, como suelo hacer en la mayoría de los casos, muestro la parte económica y la parte menos económica, esta última por supuesto más funcional y completa.
- Parte económica: En la parte económica, en cuanto a la galería de videos, le mostré la opción estática, es decir, tenían que subir los videos de forma manual por FTP, con las consecuencias que esto podría originar, como son:
- Subir ficheros con formato erróneo
- Subir ficheros demasiado grandes con lo que ralentizaría la web
- Equivocarse de carpeta
- etc …
- Parte costosa: Esta parte, era la más profesional y segura, además de dinámica. Como todos os podréis imaginar, se trataba de un formulario de Upload de archivos en el que el usuario sólo tendría que indicar los campos necesarios y el sistema se encargaba de comprobar el formato, el tamaño, etc .. de forma automática, y así no tener “basura” en el servidor del cliente y sobre todo dejar los archivos en la carpeta que corresponde.
El cliente en un principio, eligió la primera opción, la económica, pero tras un tiempo volvió a contactar conmigo para cambiar este sistema y optar por la parte costosa debido a los problemas que este ocasionaba al no tener los suficientes conocimientos, algo que le recomendé desde el principio, pero todo el mundo puede equivocarse alguna vez xD.
Por tanto, en esta tutorial quiero compartir con vosotros como hacer un sistema de upload de archivos en PHP.
SOLUCION
Como bien hemos comentado antes, la solución fue optar por un formulario con los campos necesarios y la siguiente comprobación antes de subir al servidor los archivos.
La galería de videos nos muestra la siguiente información de los videos, y esto nos dará la clave para saber los campos necesarios en el formulario:
- Cliente
- Título del Video
- Director
- Archivo de Video
¿Qué necesitamos?
Para conformar este pequeño sistema de upload de archivos en php, necesitaremos:
- Formulario con opción de subir archivos
- Script en PHP para validar los campos y subir el archivo al servidor
1. Formulario HTML con opción de subir archivos
Para crear el formulario, como se va a tratar de subir archivos, vamos a definir el enctype como ”multipart/form-data», con lo que los contenidos de cada fichero se empaquetarán para su envío en una sección separada de un documento multiparte, sirve específicamente para el control de archivos (envíos, subidas, etc ..).
Vamos a crear un primer formulario en HTML con los campos necesarios:
[html]
[/html]
Como véis, estoy utilizando label para los campos. A esto ya le daremos forma con CSS, por ahora, os tendria que salir algo como esto:
Si os fijáis, todos los campos están en una misma línea. Esto es bastante feo, pero no os preocupéis porque mas tarde le añadiremos estilo con CSS y quedará todo más bonito. Ahora centrémonos en el código.
Como veis el formulario pasa las variables por el método POST, los cuales serán enviadas al script validar.php para que valide los campos. Por tanto ahora mismo ya tenemos el formulario creado.
2. Script en PHP para validar los campos y subir el archivo al servidor
Ya tenemos el formulado creado. Ahora vamos a validar los datos que el usuario nos enviará. Para eso, tenemos que enumerar bien que es lo que tenemos que comprobar para que los datos que se suban a nuestro servidor sean los correctos.
Esto lo veremos en una segunda parte que publicaré en breve.
¡¡¡ Estar atentos !!!