2015-02-28 2 views
0

Я разработал одну форму HTML следующим образом:Какие изменения необходимо внести в поля ввода HTML, чтобы создать нужный массив в PHP?

<form action="sample_test.php" method="post"> 
    <input type="text" name="fileName" value="8.png" id="fileName[]"> 
    <input type="text" name="fileLink" value="https://www.filepicker.io/api/file/zZ993JyCT9KafUtXAzYd" id="fileLink[]"> 

    <input type="text" name="fileName" value="2_OnClick_OK.jpg" id="fileName[]"> 
    <input type="text" name="fileLink" value="https://www.filepicker.io/api/file/1w3cKCW1TMmytb7md3XQ" id="fileLink[]"> 

    <input type="submit" name="Submit" value="Submit File"> 
</form> 

Затем код в sample_test.php выглядит следующим образом:

<?php 
    print_r($_POST); die; 
?> 

Выход меня заключается в следующем: Array ([имя_файла ] => 2_OnClick_OK.jpg [fileLink] =>https://www.filepicker.io/api/file/1w3cKCW1TMmytb7md3XQ [Отправить] => Отправить файл)

Но это не нужный результат. Я хочу, чтобы желаемый выходной массив печататься в следующем порядке:

Array 
     (
      [8.png] => Array 
       (
        [0] => https://www.filepicker.io/api/file/zZ993JyCT9KafUtXAzYd 
       ) 
      [2_OnClick_OK.jpg] 
       (
        [0] => https://www.filepicker.io/api/file/1w3cKCW1TMmytb7md3XQ 
       ) 

     ) 

На данный момент я только что продемонстрировал только с двумя элементами, но в реальных ситуациях сотни таких элементов может представить в форме.

Итак, какие изменения необходимо внести в моем HTML-коде, а также в PHP-код? Пожалуйста, помогите мне.

Заранее спасибо.

ответ

0

То, что вы просите, невозможно, просто изменив код HTML, потому что вы хотите получить значение (из fileName), чтобы стать индексом в полученном массиве. Это невозможно, индекс всегда будет именем входа.

Однако, если вы посмотрите здесь: POSTing Form Fields with same Name Attribute, вы будете иметь возможность получить массивы из FileName и FileLink, и я уверен, что вы можете сделать что-то оттуда.

0

Несколько вещей не так, но вы близки. Сделайте поле имени массивом вместо id - плюс ваши идентификаторы должны быть уникальными.

<input type="text" name="fileName[]" value="8.png" id="fileName1"> 
<input type="text" name="fileLink[]" value="https://www.filepicker.io/api/file/zZ993JyCT9KafUtXAzYd" id="fileLink1"> 

<input type="text" name="fileName[]" value="2_OnClick_OK.jpg" id="fileName2"> 
<input type="text" name="fileLink[]" value="https://www.filepicker.io/api/file/1w3cKCW1TMmytb7md3XQ" id="fileLink2"> 

Не проверено, но должно сделать трюк.