我需要上传我插入mySQL的每条记录的照片。我已经制作了一个基本的插入脚本。如何修改现有脚本,以便我可以在每个记录插入中包含一个图像。图像可以是任何形状或大小。非常简单。我简化了照片的形式。任何帮助将不胜感激。
我在根目录中为照片创建了一个名为“photos”的文件夹。
<?
$order = "INSERT INTO reg_add (connect_date,
reg,
first_name,
last_name)
VALUES
('$_POST[connect_date]',
'{$_POST[reg]}nv',
'$_POST[first_name]',
'$_POST[last_name]')";
$new_image = 'photos/'.basename( $_FILES['image']['name']);
if(move_uploaded_file($_FILES['image']['tmp_name'], $new_image)) {
// The images was uploaded
} else{
header("location: reg_add_fail_IMAGE.php");
}
$result = mysql_query($order);
?>
FORM:
<form id="form_register" method="POST" action="reg_add.php">
<input class="req-string bx short" type="text" name="connect_date" id="connect_date">
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
<input class="req-string bx long caps" type="text" name="reg" id="reg">
<input class="req-string bx long" type="text" name="first_name">
<input class="bx long" type="text" name="last_name">
Choose a image to upload: <input name="image" type="file">
<input id="rbSubmit" class="rb2 rbSubmit" type="submit" value="submit">
</form>
答案 0 :(得分:0)
首先,您无法使用<textarea>
<强> HTML 强>
<form action="savedata.php" method="POST" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Choose a image to upload: <input name="image" type="file" /><br />
<input type="submit" value="Submit" />
</form>
请注意,请务必加入enctype="multipart/form-data
,以便将图片与表单一起发送。
<强> PHP 强>
当具有FILE的表单发送到PHP脚本时,该文件存储在服务器上的临时位置,变量$_FILE
可用。此变量保存有关此文件的信息,临时名称和实际名称,大小等。
您需要做的是将上传的图像移动到您想要放置的目录:
// This will be the location for the image
$new_image = 'photos/'.basename( $_FILES['image']['name']);
if(move_uploaded_file($_FILES['image']['tmp_name'], $new_image)) {
// The images was uploaded
} else{
// The image failed to upload
}
现在,您可以将$new_image
保存到数据库,以便参考图像位置。
您应该考虑的几件事
INSERT
中的id命名图像。为此,您需要先插入数据,然后使用{{1获取最后一个插入ID INSERT查询后立即执行。然后将其合并到变量`$ new_image'