Upload d'arxius
L'upload de fitxers amb PHP és vital per carregar arxius al servidor. El formulari ha d'usar method="POST" i l'atribut crucial enctype="multipart/form-data". S'empra un camp d'entrada de tipus file. Sense aquests atributs, la pujada no funcionarà.
Processament
Un cop enviat, PHP gestiona les dades a través de l'array superglobal $_FILES, que conté detalls de l'arxiu:
-
$_FILES['arxiu']['name']: Nom original.
-
$_FILES['arxiu']['tmp_name']: La ruta temporal de l'arxiu al servidor.
-
$_FILES['arxiu']['size']: Mida en bytes.
-
$_FILES['arxiu']['error']: Codi d'error si n'hi ha.
La funció move_uploaded_file(string $tmp_name, string $destination) mou l'arxiu de la seva ubicació temporal a un directori permanent i accessible pel servidor.
Seguretat
-
Validació: Mai s'ha de confiar en les dades de l'usuari. Cal validar estrictament la mida i el tipus MIME de l'arxiu per evitar la càrrega de fitxers massa grans o maliciosos (com scripts PHP executables).
-
Renombratge: Cal generar un nom d'arxiu únic i aleatori (p. ex., amb uniqid()) abans de moure'l. Això prevé atacs de sobreescriptura (path traversal).
-
Permisos: El directori de pujada ha de tenir els permisos adequats (idealment 755 o 775) i, si és possible, estar fora de l'accés directe del navegador web per evitar l'execució de codi nociu.
Configuració
Les directives a php.ini (com upload_max_filesize i post_max_size) limiten la mida màxima de la pujada. Un upload requereix una validació estricta i un ús correcte de move_uploaded_file.
Configuració php.ini
Gestioneu els uploads de fitxers amb PHP de manera segura i eficient requereix una atenció acurad...
Seguretat
Permisos carpetes La seguretat comença amb la configuració correcta de permisos per al directori...
Upload un arxiu
Aquí teniu un exemple complet i segur d'un sistema d'upload de fitxers en PHP, acompanyat de come...
$_FILES
L'array superglobal $_FILES és un array associatiu que PHP utilitza per emmagatzemar la informaci...
Upload multiples arxius
Quan s'utilitza l'atribut multiple al camp d'entrada i es posa [] al seu nom (name="fileToUpload[...
MIME Type
El MIME Type (o Tipo MIME) és un concepte fonamental per a qualsevol desenvolupador web o PHP, ja...
Una funció mime_types()
function mimeTypes() { /* Just add any required MIME type if you are going to downloa...