首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >请指导我如何通过PHP上传图片到mySql数据库

问请指导我如何通过PHP上传图片到mySql数据库
EN

Stack Overflow用户
提问于 2011-02-04 16:22:59
回答 6查看 1.1K关注 0票数 0

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

我将感谢你,如果你能提供一些代码或链接参考。我已经跟踪了一些链接,但这些链接是错误的。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-02-04 16:38:51

这将在一个目录中插入图像,并且图像名称将存储在数据库中,希望这将帮助您开始

代码语言:javascript
复制
<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' image ';$extension = strrchr($name,‘.);$image_name = "whatever_you_put".$extension;

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2011-02-04 16:31:06

我建议你在MySQL中避免这种情况,因为这个数据库引擎缺少一个好的SQL二进制追加聚合函数。

这意味着如果你要保存大图片到MySQL,你将需要在一次行程中上传它们,这是非常糟糕的,因为如果你的图片大小是- f.e- 8MB,它将在你的服务器中占用8MB内存,并且很可能,PHP请求将超时,因为上传,然后保存到数据库,可能需要几秒钟以上。

如果您的图像是1-2MB,那么这样做可能是一个糟糕的方法。二进制文件应该分块上传,以便占用尽可能少的内存,因为网页应该在共享主机中工作,但我不知道这是你的情况还是专用的,但不管怎样,如果不分块上传,你将浪费资源-这在大文件-的MySQL中很难实现。

最后,最好存储对文件的引用,或者使用一种约定,允许我们使用图像标识符(数据库中的ID列)让PHP脚本在某个文件夹中定位图像。

票数 3
EN

Stack Overflow用户

发布于 2011-02-04 16:26:20

我将给你一些可能对你有用的关键字:

PHP(在db)

  • $_FILES中存储图像数据(在中访问上传的文件))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4895904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档