Mysql
 sql >> Database >  >> RDS >> Mysql

Caricamento e archiviazione di file di immagini multiple PHP in cartelle e database

Puoi usare la notazione array di PHP come faresti nei normali campi di forma:

Pic 1:  <input type="file" name="establishment_image[]" />
Pic 2:  <input type="file" name="establishment_image[]" />

Tuttavia, il materiale di elaborazione dei file in PHP lo gestirà in modo leggermente diverso da quello che ti aspetteresti lato server:

$_FILES = array(
    'establishment_image' => array(
          'name' => array(
              0 => 'name of Pic 1 file',
              1 => 'name of Pic 2 file'
          ),
          'error' => array(
              0 => error code for pic1 upload,
              1 => error code for pic2 upload
      etc...
);

Tuttavia, è abbastanza facile da gestire:

foreach(array_keys($_FILES['establishment_image']['name']) as $idx) {
     .... 
}

L'altra opzione è assegnare a ciascun file immesso un nome univoco e lavorare con quel lato server. Se si codifica una "sottochiave" numerica in ciascuna:

<input type="file" name="establishment_image_1" />
<input type="file" name="establishment_image_2" />

Quindi puoi semplicemente fare

for ($i = 1; $i <= 5; $i++) {
     echo "Name of file is ", $_FILES["establishment_image_$i"]['name'];
     ... 
}