我正在开发一个新闻网站,它的数据库有4个列,分别是id,title,post和views。我希望每篇文章都有一个图像,如何为此编辑我的数据库?
我可以上传照片,就像上传其他信息一样。我的意思是我会使用INSERT INTO
。我希望我能解释一下。
感谢您的帮助。
答案 0 :(得分:0)
是的,您可以像其他信息一样将图像插入数据库。为此,您必须将blob数据类型用于数据库属性。之后,您的图像将保存到数据库中。 如果需要更新现有表,则必须更改数据库表。为此,您可以查询如下所示。
alter table table_name add `image` mediumblob NOT NULL
请仔细阅读此链接,您会发现它非常有帮助。 http://www.anyexample.com/programming/php/php_mysql_example__image_gallery_(blob_storage).xml
答案 1 :(得分:0)
您应该添加一个名为 image 的新列。有几种方法可以做到这一点。
要上传图片,您应该将enctype = multipart / form-data添加到表单中。然后,您可以使用$ _FILES来处理文件上传。是的,您可以使用与$ _POST相同的方式获取$ _POST值,但对于图像,您需要使用$ _FILES。
一个非常非常简单的解决方案:
HTML:
<form method="POST" enctype="multipart/form-data">
<input type="file" name="image">
不要忘记提交课程。但请确保在此表单中输入type =“file”。
<?php
if(isset($_FILES['image'])) {
$file_name = $_FILES['image']['name'];
$file_tmp = $_FILES['image']['tmp_name'];
move_uploaded_file($file_tmp, "images/" . $file_name);
}
您可以使用与您相同的代码,但只需添加文件上传处理。
答案 2 :(得分:0)
是的,您可以blob
格式将图像存储到数据库中:
INSERT INTO news(id,image) VALUES(1,LOAD_FILE('path/to/image'));
或者您可以将唯一值存储到news
表格image_name
列中。此值与实际图像名称相对应,例如123456.jpg
。然后,您可以根据以前的商店image_name
加载图片。
答案 3 :(得分:0)
在VARCHAR
250
的数据类型database
<form action="php.php" method="post" enctype="multipart/form-data">
<input type="file" name="image">
<input type="submit" name="sub_pic">
</form>
<强> php.php 强>
if (isset($_POST['sub_pic'])) {
$image_dir = './image/'; //directory you want your image to be saved
$imagename = $_FILES['image']['name'];
$imagetempname = $_FILES['image']['tmp_name'];
$imagetype = $_FILES['image']['type'];
$imagesize = $_FILES['image']['size'];
$imagepath = $image_dir . $imagename; //store image path for access
$imageresult = move_uploaded_file($imagetempname, $imagepath); //combine also for access
//if it fails tell the user something
if (!$imageresult)
{
echo "<script>alert('Error uploading banner!!..Please try again')</script>";
exit();
}
if (!get_magic_quotes_gpc())
{
$imagename = addslashes($imagename);
$imagepath = addslashes($imagepath);
}
//query to insert into database
$query = mysqli_query("INSERT INTO table (image) VALUES ('$imagepath')");
}