我正在尝试获取一个多维数组来存储来自三个独立元素(标题、图像和子文件夹)的信息。这三个元素是个人可能上传到我的网站的照片的描述。我已经建立了一个初始页面,询问访问者他们打算上传多少张照片以及来自哪个国家(输入类型=选择)。根据他们对该初始表单的响应,第二页使用循环生成适当数量的 、 和 元素。提交第二个表单后,目的是将信息上传到它所做的服务器。第二个目标是将这些信息存储在多维数组中,如下所示,以便上传到 MySQL 表中。我的困境是从 ($_FILES['image']['name' ]) 将自己插入到我的多维数组中。标题 '' 像国家名称('name=subfolder'])一样将自己插入到多维数组中,但不是图像名称。我非常感谢愿意为此提供帮助的任何人。谢谢你。
Array ( [caption] => Array ( [0] => Nice Simple Picture [1] Another Nice Simple Picture=> )
[image] => [subfolder] => Array ( [0] => Italy ) [upload] => UPLOAD )
这是我尝试解决此问题的一些方法。
<?php
$file=$_FILES['image']['name'];
$expected = array('image','subfolder','caption');
foreach ($_POST as $key => $value) {
if (in_array ($key, $expected)) {
${$key} = mysql_real_escape_string($value); }}
$sql = "INSERT INTO images (file_name, country, caption)
VALUES ('$image', '$subfolder', '$caption')";
$result = mysql_query($sql) or die (my_sql_error()); }
?>
<form action="<?php $_SERVER['PHP_SELF']; ?>" id="form1" name="form1" method="POST"
enctype="multipart/form-data">
<?php
for ($i=0; $i<$imgnumb; $i++) {
echo "<input type=\"file\" name=\"image[".$i."]\" /> <input type=\"text\"
name=\"caption[".$i."]\" /><br />"; }
?>
<br />
<input value="<?php echo $file; ?>" name="image" type="hidden" />
<input value="<?php echo $location; ?>" name="subfolder" type="hidden" />
<input value="<?php echo $_POST['caption']; ?>" name="caption" type="hidden" />
<input type="submit" name="upload" id="next" value="UPLOAD" />
</form>