【发布时间】:2014-11-21 17:48:26
【问题描述】:
我有一个将 5 张图片上传到服务器文件夹的表单
<form action="co_insert_office_image.php" method="post" enctype="multipart/form-data">
<div class="col-md-6">
<div class="form-group">
<label class="col-lg-4 control-label">Image 1</label>
<div class="col-lg-6">
<input type="file" name="file_img" />
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="col-lg-4 control-label">Image 2</label>
<div class="col-lg-6">
<input type="file" name="file_img1" />
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="col-lg-4 control-label">Image 3</label>
<div class="col-lg-6">
<input type="file" name="file_img2" />
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="col-lg-4 control-label">Image 4</label>
<div class="col-lg-6">
<input type="file" name="file_img3" />
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="col-lg-4 control-label">Image 5</label>
<div class="col-lg-6">
<input type="file" name="file_img4" />
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<div class="col-lg-6">
<input type="submit" name="btn_upload" value="Upload">
</div>
</div>
</div>
</form>
co_insert_office_image.php
<?php
include('admin_session.php');
$con=mysqli_connect("localhost","root","","db");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
if(isset($_POST['btn_upload']))
{
$officeid = $_GET['id'];
echo $officeid;
$filetmp = $_FILES["file_img"]["tmp_name"];
$filename = $_FILES["file_img"]["name"];
//$filetype = $_FILES["file_img"]["type"];
$filepath = "uploads/".$filename;
move_uploaded_file($filetmp,$filepath);
$filetmp1 = $_FILES["file_img1"]["tmp_name"];
$filename1 = $_FILES["file_img1"]["name"];
//$filetype = $_FILES["file_img"]["type"];
$filepath1 = "uploads/".$filename1;
move_uploaded_file($filetmp1,$filepath1);
$filetmp2 = $_FILES["file_img2"]["tmp_name"];
$filename2 = $_FILES["file_img2"]["name"];
//$filetype = $_FILES["file_img"]["type"];
$filepath2 = "uploads/".$filename2;
move_uploaded_file($filetmp2,$filepath2);
$filetmp3 = $_FILES["file_img3"]["tmp_name"];
$filename3 = $_FILES["file_img3"]["name"];
//$filetype = $_FILES["file_img"]["type"];
$filepath3 = "uploads/".$filename3;
move_uploaded_file($filetmp3,$filepath3);
$filetmp4 = $_FILES["file_img4"]["tmp_name"];
$filename4 = $_FILES["file_img4"]["name"];
//$filetype = $_FILES["file_img"]["type"];
$filepath4 = "uploads/".$filename4;
move_uploaded_file($filetmp4,$filepath4);
$sql = "UPDATE register_office set image='".$filepath."' AND image1='".$filepath1."' AND image2='".$filepath2."' AND image3='".$filepath3."' AND image4='".$filepath4."' WHERE id='".$officeid."' ";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
mysqli_close($con);
}
?>
图像被存储在服务器文件夹中,但它们的路径没有被存储在数据库中。谁能告诉我该怎么做?我还想添加对图像大小和允许的图像扩展类型的检查。谁能指导我这些要点?
【问题讨论】:
-
为什么要存储路径和文件名?我认为你应该只将文件名存储到数据库中,并将文件路径放在 html img 标签中,这样将来如果你的文件路径被更改,你就不需要更新你的数据库。并检查大小使用
$_FILES["file_img_name"]["size"]