我一直试图让这项工作工作很长一段时间。但我似乎无法使其发挥作用。我想要一个只使用一个输入值的多图像上传表格
if (isset($_POST['multi_fresh'])) {
$path = '';
$user_id = $_REQUEST['user_id'];
$classification = $_REQUEST['classification'];
$yield = $_REQUEST['yield'];
$price = $_REQUEST['price'];
$farm_name = $_REQUEST['farm_name'];
foreach ($_FILES["farm_photo"]["tmp_name"] as $key => $tmp_name) {
$cl = $classification[$key];
$yl = $yield[$key];
$pr = $price[$key];
$fn = $farm_name[$key];
$im = $img[$key];
if (!empty($pr)) {
$type = $im['type'];
$size = $im['size'];
$name = $im['name'];
$tmp_path = $im['tmp_name'];
$upload = $path . "images/farm/";
if (($type == 'image/jpg' || $type == 'image/jpeg' || $type == 'image/png' || $type == 'image/gif') && $size < 5000000) {
$ext = pathinfo($name, PATHINFO_EXTENSION);
$farmimage = date('YmdHis') . "." . $ext;
if (move_uploaded_file($tmp_path, $upload . $farmimage)) {
$insert = mysql_query("INSERT INTO user_multi_farm set user_id='" . mysql_real_escape_string($user_id) . "',classification='" . mysql_real_escape_string($cl) . "',yield='" . mysql_real_escape_string($yl) . "',price='" . mysql_real_escape_string($pr) . "',farm_name='" . mysql_real_escape_string($fn) . "',farm_photo='" . mysql_real_escape_string($farmimage) . "'") or die(mysql_error());
if ($insert) {
$sld_ins = "Add Sucessfully!";
} else {
$sld_err = "Check Corresponding Fields";
}
}
} else {
$inserts = mysql_query("INSERT INTO user_multi_farm set user_id='" . mysql_real_escape_string($user_id) . "',classification='" . mysql_real_escape_string($cl) . "',yield='" . mysql_real_escape_string($yl) . "',price='" . mysql_real_escape_string($pr) . "',farm_name='" . mysql_real_escape_string($fn) . "'") or die(mysql_error());
if ($inserts) {
$sld_ins = "Add Sucessfully!";
} else {
$sld_err = "Check Corresponding Fields";
}
}
}
}
答案 0 :(得分:0)
您只需将multiple
添加到<input>
代码中,并为名称提供数组[]
语法:
<input type="file" name="imgs[]" multiple>
PHP文档有一个指南:Uploading Multiple Files
可以使用不同的名称上传多个文件进行输入。
也可以同时上传多个文件,并为您自动组织数组信息。为此,您需要在HTML表单中使用与多个选择和复选框相同的数组提交语法:
PHP文档中的示例:
<form action="file-upload.php" method="post" enctype="multipart/form-data">
Send these files:<br />
<input name="userfile[]" type="file" /><br />
<input name="userfile[]" type="file" /><br />
<input type="submit" value="Send files" />
</form>
要访问在PHP上传的多个文件,您使用与单个上传相同的代码;内置的$_FILES
超级全球。
根据PHP documentation $_FILES
是
通过HTTP POST方法上传到当前脚本的关联项目数组。 POST方法上传部分概述了此数组的结构。
你应该像其他任何一样遍历这个关联数组:
foreach($_FILES["userfile"]["tmp_name"] as $key=>$tmp_name)
{
}