sql >> Database >  >> RDS >> Mysql

PHP meerdere afbeeldingsbestanden uploaden en opslaan naar map en database

U kunt de array-notatie van PHP gebruiken zoals u zou doen in gewone formuliervelden:

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

De bestandsverwerking in PHP zal het echter een beetje anders behandelen dan je aan de serverkant zou verwachten:

$_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...
);

Het is echter gemakkelijk genoeg te hanteren:

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

De andere optie is om elke bestandsinvoer een unieke naam te geven en met die serverside te werken. Als u een numerieke "subsleutel" hard codeert in elk:

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

Dan kun je gewoon

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


  1. Een externe sleutelbeperking mislukt

  2. Zoek tekst in velden in elke tabel van een MySQL-database

  3. Een primaire sleutel maken in SQL Server (T-SQL-voorbeelden)

  4. Hoe afbeeldingen op te slaan in een varbinary(max) kolom?