【发布时间】:2017-12-04 02:51:47
【问题描述】:
嗨...我正在尝试从我选择生成的数量上传图像并将图像名称保存到数据库中。例如,我选择生成 3 个输入类型“文件”,而不是 3 个输入将自动生成,因此我可以将其上传到文件夹并将名称保存到数据库中。我已经完成了其他类型的输入,例如“文本”。但仍然停留在上传图片部分。 表格是这样的(如果我选择生成 3 次): 这是我的表单代码示例:
<?php
if(isset($_POST['btn-gen-form']))
{
?>
<form method="post" action="" enctype="multipart/form-data">
<input type="hidden" name="total" value="<?php echo $_POST["no_of_rec"]; ?>"
/>
<input type="hidden" name="vendorid" value="<?php echo $id;?>">
<table class='table table-bordered'>
<tr>
<th>##</th>
<th>Name</th>
<th>Description</th>
<th>Image</th>
</tr>
<?php
for($i=1; $i<=$_POST["no_of_rec"]; $i++)
{
?>
<tr>
<td><?php echo $i; ?></td>
<td><input type="text" name="item_name<?php echo $i; ?>"
placeholder="Name" class='form-control' required/></td>
<td><input type="text" name="item_desc<?php echo $i; ?>"
placeholder="description" class='form-control' required/></td>
<td><input type='file' name="file" id="file" value=''></td>
</tr>
<?php
}
?>
<tr>
<td colspan="6">
<button type="submit" name="save_mul" class="btn btn-primary"><i
class="glyphicon glyphicon-plus"></i> Insert all Records</button>
<a href="additem.php" class="btn btn-large btn-success"> <i class="glyphicon
glyphicon-fast-backward"></i> Back to index</a>
</td>
</tr>
</table>
</form>
<?php
}
?>
这里是后端部分:
<?php
include_once 'db.php';
if(isset($_POST['save_mul']))
{
$allow = array("jpg", "jpeg", "gif", "png");
$todir = '../../userhome/cartu/carti/images/';
if ( !!$_FILES['file']['tmp_name'] ) // is the file uploaded yet?
{
$info = explode('.', strtolower( $_FILES['file']['name']) ); // whats the
extension of the file
if ( in_array( end($info), $allow) ) // is this file allowed
{
$newfilename = round(microtime(true)) . '.' . end($info);
if ( move_uploaded_file( $_FILES['file']['tmp_name'], $todir
.$newfilename ) )
{
$total = $_POST['total'];
$n_img = $newfilename;
for($i=1; $i<=$total; $i++)
{
$fn6 = $_POST["vendorid"];
$fn = $_POST["item_name$i"];
$fn1 = $_POST["item_desc$i"];
$sql="INSERT INTO items(vendorid,item_name,item_desc,item_image)
VALUES('".$fn6."','".$fn."','".$fn1."','".$n_img."')";
$sql = $db->query($sql);
}
if($sql)
{
?>
<script>
alert('<?php echo $total." records was inserted !!!"; ?>');
window.location.href='additem.php';
</script>
<?php
}
else
{
?>
<script>
alert('error while inserting , TRY AGAIN');
</script>
<?php
}
}
}
else
{
echo "Invalid file"; // error this file ext is not allowed
}
}
}
?>
我还是网络开发的新手,不知道我是否问了愚蠢的问题,但是这个问题我已经卡了很长时间了。 a 搜索了许多论坛社区,主要解决了在输入中上传多个图像的问题。 任何供我参考的资料都非常感谢。谢谢你。
【问题讨论】:
标签: php html image-uploading