使用 PHP 上传多个图像,并将条目提交到 mysql
Posted
技术标签:
【中文标题】使用 PHP 上传多个图像,并将条目提交到 mysql【英文标题】:Upload Multiple Images with entries submitting into mysql using PHP 【发布时间】:2012-02-28 19:09:59 【问题描述】:我需要从一个输入文件中选择带有进度条的多个图像上传。图片将上传到路径 uploads/photos/ 中,并且图片路径也必须上传到数据库中。 试了很多网上的代码,上传到文件夹成功,但是无法上传到mysql。
谢谢你- 维韦克·米什拉。
【问题讨论】:
上传到mysql
是什么意思???您只需将带有位置(可选)的image name
保存在表格的图像字段中,而不是完全该图像
我正在尝试这样做,但是当我使用 javascript 将图像上传到路径时,我无法获得多个图像名称。我需要 aray,但它没有发生。
【参考方案1】:
上传多张图片是html5
的一项功能,并非所有浏览器都完全支持。
你必须使用一些插件来上传多个文件
我建议使用uploadify
这个article可以帮助你更好
编辑
在htm5中你可以使用单个<input type=file>
来上传多张图片
<form action='#' method='post' enctype='multipart/form-data'>
<input name='uploads[]' type=file multiple>
<input type='submit'>
</form>
参考:
w3c
one more
【讨论】:
支持上传多个文件已有一段时间了。 php.net/manual/en/features.file-upload.multiple.php 的文档没有显示任何 HTML 版本限制,而且在 HTML5 可用之前,GMail 已经支持多个文件附件几年了。 @MaxVT :您提供的链接使用多个input type=file
,而在html5 中,您可以仅使用一个input type=file
上传多个文件。明白我的意思
@MaxVT : 阅读 this 和 this
如果您在回答中也澄清这一点,我会记得我的反对意见。
@MaxVT :虽然我已经更新了我的答案,并且您必须在否决某人的答案之前进行更新。:) 好的【参考方案2】:
php 可以是这样的:
if (isset($_FILES['images']))
foreach ($_FILES['images']['tmp_name'] as $key => $tmp_name)
$target="Your Path/";
$target=$target.$_FILES['images']['name'][$key];
if(move_uploaded_file($tmp_name, $target))
$fname=$_FILES['images']['name'][$key];
mysql_query("INSERT INTO `Table Name`(`Imgpath`) VALUES ('$fname')");
$target="";
而HTML应该是
<form method="post" enctype="multipart/form-data" >
<input type="file" name="images[]" multiple>
【讨论】:
【参考方案3】:您究竟尝试过哪些脚本?您的代码中是否存在您怀疑的特定区域?
Google 搜索“上传多个文件 php”为该功能提供了足够多的示例。您可能需要执行多个 MySQL 查询,而不是一个,才能将所有上传的文件插入数据库。
【讨论】:
以上是关于使用 PHP 上传多个图像,并将条目提交到 mysql的主要内容,如果未能解决你的问题,请参考以下文章
使用 PHP 和单个 HTML 输入将多个图像上传到服务器和数据库[重复]
如何使用 javascript 将多个图像上传到 cloudinary 并将 url 发送到另一个数据库