从表单元素构建php多维数组

时间:2013-07-10 06:29:07

标签: php mysql multidimensional-array insert

我正在尝试使用多维数组来存储来自三个单独元素(标题,图像和子文件夹)的信息。这三个元素是个人可以上传到我网站上的照片描述。我已经建立了一个初始页面,询问访问者他们打算上传多少张照片以及来自哪个国家/地区(输入类型=选择)。根据对初始表单的响应,第二页使用循环生成适当数量的,和元素。提交第二个表单后,目的是将信息上传到它所执行的服务器。第二个目标是将该信息存储在多维数组中,如下所示,以便上传到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."]\" />&nbsp;&nbsp;<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> 

0 个答案:

没有答案