0

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

0 回答 0