Я разработал одну HTML-форму следующим образом:
<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 ([fileName] => 2_OnClick_OK.jpg [fileLink] => https://www.filepicker.io/api/file/1w3cKCW1TMmytb7md3XQ [Submit] => Отправить файл)
Но это не желаемый результат. Я хочу, чтобы желаемый выходной массив был напечатан следующим образом:
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? Пожалуйста, помогите мне.
Заранее спасибо.
То, что вы спрашиваете, невозможно, просто изменив код HTML, потому что вы хотели бы значение (из имя файла) стать индексом в массиве, который вы получите. Это невозможно, индекс всегда будет именем ввода.
Однако, если вы посмотрите здесь: Поля формы POSTing с тем же атрибутом имени , вы сможете получить массивы имя файла а также FileLink, и я уверен, что вы можете сделать что-то оттуда
Несколько вещей не так, но вы рядом. Сделайте поле имени массивом вместо идентификатора — плюс ваши идентификаторы должны быть уникальными.
<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">
Не проверено, но должно сработать.