gpt4 book ai didi

php - 如何使用php脚本将图像上传到数据库?

转载 作者:搜寻专家 更新时间:2023-10-30 21:40:51 25 4
gpt4 key购买 nike

这是我上传的代码..但它不起作用..我使用了 file_get_contents 函数.. 上传图片

</head>
<body>
<form action="upload1.php" method="POST" enctype="multipart/form-data">
File:
<input type="file" name="image"/>
<input type="submit" value="Upload image" />

</form>

<?php

//connect to the database
$con = mysql_connect("localhost","root", "");
if(!$con)
{
die('Could not connect to the database:' . mysql_error());
echo "ERROR IN CONNECTION";
}

mysql_select_db("imagedatabase", $con);


//file properties

echo $file = $_FILES['image']['tmp_name'];
echo '<br />';

if(!isset($file))
echo "Please select an image";

else
{
$image = file_get_contents($_FILES['image']['tmp_name']);
echo $image_name = addslashes($_FILES['image']['name']); echo '<br \>';
echo $image_size = getimagesize($_FILES['image']['tmp_name']);

if($image_size == FALSE)
echo "That's not an image";
else
{
$insert = mysql_query("INSERT INTO images (image) VALUES ($image)",$con);
if(!$insert)
echo "Problem uploding the image. Please check your database";
else
{
$last_id = mysql_insert_id();
echo "Image Uploaded. <p /> Your image: <p /><img src=display.php? id=$last_id>";
}
}

}
mysql_close($con);
?>

</body>
</html>

检索/显示的代码是这样的..

<?php
//connect to the database
mysql_connect("localhost","root", "") or die(mysql_error());
mysql_select_db("mydb") or die(mysql_error());

//requesting image id

$id = addslashes($_REQUEST['id']);

$image = mysql_query("SELECT * FROM images WHERE id = $id");
$image = mysql_fetch_assoc($image);
$image = $image['image'];

header("Conten-type: image/jpeg");

echo $image;


mysql_close($connect);
?>

我创建了一个名为“imagedatabase”的数据库和一个表

最佳答案

将图像存储在数据库中是个坏主意。在数据库中存储它的路径,通过 .htaccess 关闭包含图像的目录并在硬盘驱动器上使用它。


为什么不应该将文件存储在数据库中?

如果您将使用数据库来存储图像,您将拥有:

  1. 慢查询
  2. 灾难索引的大小
  3. 桥接 php<->mysql 上的高负载
  4. 编辑照片的问题(你需要获取图像,修改一些东西并再次插入所有数据。哦不)
  5. 将文件从一个地方传输到另一个地方的问题
  6. 关于 StackOverflow 的新问题 «如果文件不存在,如何处理文件文件,而是一个字符串»

关于php - 如何使用php脚本将图像上传到数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8723707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com