我有一个表单,用户上传图像并为其输入标题,然后提交。为了实现它,我整合了AJAXUPLOADER,它不允许一次多个Image Upload,但是一个接一个,我没有问题。
在成功时,它返回上传的文件名,我做的,我插入一个包含图像文件名作为值的隐藏字段。我插入一个文本字段供用户输入标题。
基本上,我想拥有一个包含多个文件名和标题的数组,所以我把这段代码放在一边: input type="text" name="images[][title]" input type="hidden" value="'+response+'" name="images[][url]"
它完美无缺,但有一个问题。 数组结构使用上面的代码构建:
[images] => Array
(
[0] => Array
(
[title] => Ferrari
)
[1] => Array
(
[url] => d2339e1d8da95e811c4344eaef226d09.jpg
)
[2] => Array
(
[title] => Ferrari
)
[3] => Array
(
[url] => 714208a8c1b819a548a258c33e311e98.jpg
)
)
但是,我希望它们采用以下格式:
[images] => Array
(
[0] => Array
(
[title] => Ferrari,
[url] => d2339e1d8da95e811c4344eaef226d09.jpg
)
[1] => Array
(
[title] => Ferrari,
[url] => 714208a8c1b819a548a258c33e311e98.jpg
)
)
欢迎任何快速帮助!
答案 0 :(得分:3)
通过在输入中声明索引,该数组将自动为您构建,无需进行任何奇特的数组合并。
<input type="text" name="images[0][title]" />
<input type="hidden" value="'+response+'" name="images[0][url]" />
<input type="text" name="images[1][title]" />
<input type="hidden" value="'+response+'" name="images[1][url]" />
依此类推:)如果您使用PHP循环来声明输入,那就像这样简单。
<? for($i = 0; $i < 2; $i++) { ?>
<input type="text" name="images[<?= $i ?>][title]" />
<input type="hidden" value="'+response+'" name="images[<?= $i ?>][url]" />
< } ?>
我希望这有助于让您的生活更轻松!
答案 1 :(得分:0)
将其命名为titles[]
,然后将它们合并到PHP中。
示例:
<?php
header("Content-type: text/plain"); //Display only
$urls = array(
"http://example.com/",
"http://example.com/images/"
);
$titles = array(
"Example",
"Example Images"
);
$images = array();
foreach ($urls as $key => $value) {
$images[$key]["url"] = $value;
$images[$key]["title"] = $titles[$key];
}
print_r($images);