2011-02-04 82 views
0

请指导我如何通过PHP在MySql数据库中上传图像。 我在PHP只有几天的经验。 我可以采用任何方法,将文件保存在目录中,并将其路径保存在数据库中,或将整个图像保存在数据库中。普莱指导我如何通过PHP将图像上传到mySql数据库

我会感谢ü如果u能提供一些代码或链接引用。 我已经遵循一些链接,但那些是越野车。

+0

感谢你的意见,但是男人我想代码上传到数据库或保存它的P [ATH到DATABSE。我知道最好只在db中上传文件路径。任何一个你认为的人都可以给我一些相同的代码。 – Abhi 2011-02-04 08:34:14

回答

0

这将插入图像中的目录和图像名称将被存储在数据库 希望这将帮助你启动

<form name="aaa" method="post" enctype="multipart/form-data"> 
<input type="file" name="image"> 
<input type="submit" name="submit"> 
</form> 

<?php 
if(isset($_POST['submit'])) { 

//添加自己的形象的名字 $ NAME = $ _FILES [ '图像'] [ '名称']; $ extension = strrchr($ name,'。'); $ image_name =“whatever_you_put”。$扩展;

move_uploaded_file($_POST['image']['tmp_name'],"/image/".$image_name) //where image is a directory where image will be uploaded 
mysql_query("insert into table_name VALUES ('".$image_name."')"); 
} 
+0

嘿普拉卡什!我爱你的回应,请你告诉我如何重新命名文件,然后再上传 – Abhi 2011-02-04 09:52:39

2

我给你一些关键字,可能对您有用:

  • BLOB
  • move_uploaded_file()(在数据库中的图像数据存储)(存储图像数据在文件系统)
  • $_FILES(访问上传的文件在PHP)
2

你应该对这些图象不存储数据库中。您应该只存储参考光盘上的位置。

而且这已经解释过这里:Storing Images in DB - Yea or Nay?

+1

+1优秀的链接,正是我所期待的。 – 2011-12-18 16:10:22

1

仅供参考,这是一个不好的做法,图像存储在数据库中。

最好将图像存储在一个文件夹中,而不是mysql数据库。 请参阅image upload

只需将图像上传到一个文件夹,然后将其相对路径保存到数据库。

3

我会建议你避免在MySQL,因为这种数据库引擎没啥好SQL二进制追加聚集功能。

这意味着,如果你要大的图像保存到MySQL,你需要上传到行程单,这是非常糟糕的,因为如果你的图像大小为 - FE-8MB,它会采取在您的服务器中有8MB的RAM,并且可能PHP请求会超时,因为上传然后保存到数据库可能需要几秒钟的时间。

做,如果您的图像是1-2MB的,它可能是一个不错的办法呢。二进制文件应该分块上传,以便尽可能减少内存,因为网页应该在共享主机中工作,但我不知道是你的情况还是你在专用的,但无论如何,再一次,你会浪费资源而不上传大块文件 - 这在MySQL中很难实现。

在一天结束的时候,更好地存储引用文件,或者使用我们的图像识别(ID列在您的数据库)一个约定,让你的PHP脚本中找到一些文件夹的图像。

0

您应该使用的file_get_contents()函数,并插入导致到表中的BLOB字段

相关问题