sql >> Databasteknik >  >> RDS >> Mysql

Uppladdning av flera PHP-bilder och lagring till mapp och databas

Du kan använda PHP:s arraynotation som i vanliga formulärfält:

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

Men filbearbetningsgrejer i PHP kommer att hantera det lite annorlunda än du förväntar dig på serversidan:

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

Det är dock lätt att hantera:

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

Det andra alternativet är att ge varje filinmatning ett unikt namn och arbeta med den serversidan. Om du hårdkodar en numerisk "undernyckel" i varje:

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

Då kan du helt enkelt göra

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


  1. Prestandaöverraskningar och antaganden:STRING_SPLIT()

  2. Symfony 3.4 Inga metadataklasser att bearbeta Fel

  3. cross-dbms sätt att kontrollera om strängen är numerisk

  4. Connect Entity Framework med MYSQL i VS2019