我有一个html表单,我在表单中添加了一个{input type =“file”name =“file”}标签。当我选择一个图像并点击提交时,它如何提交到数据库以及如何将图像检索到php文件?
{我的数据库名称 - uploadimg}
{我的数据库用户名 - root}
{无数据库密码}
{Table name - table_image}
答案 0 :(得分:0)
您可以通过以下代码上传文件
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
答案 1 :(得分:0)
建议将上传的图像存储在文件夹中,并且db.for上传图像中的图像名称是您需要检查的第一个是表单标记中的enctype属性。您应该在您的文件中指定enctype="multipart/form-data"
属性表格标签。如果没有此属性,则不会上传图片,然后可以使用$_FILES['field_name']['name'],$_FILES['field_name']['tmp_name'],.....
但是如果你想将图像直接插入数据库,你应该使用数据库列数据类型为BLOB
答案 2 :(得分:0)
$name = $_FILES["file"]["name"];
$type = $_FILES["file"]["type"];
$timestamp = date('Y-m-d h:i:s');
$size = $_FILES["file"]["size"];
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
"Upload: " . $_FILES["file"]["name"] . "<br>";
"Type: " . $_FILES["file"]["type"] . "<br>";
"Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
"Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
if(move_uploaded_file($_FILES["file"]["tmp_name"], "/images/" . $_FILES["file"]["name"]))
{
$sql = 'insert into table_image(img_name, type, size, uploadtime, status) values("'.$name.'", "'.$type.'", "'.$size.'", "'.$timestamp.'", "1")';
$rs = mysql_query($sql);
}
}
}
else
{
echo "Invalid file";
}
}
答案 3 :(得分:0)
$sql = 'select * from table_image';
$rs = mysql_query($sql);
while($row = mysql_fetch_array($rs))
{
echo '<img src="images/'.$row['img_name'].'">';
}