2023-09-14 00:37:15 | 我爱编程网
php实现上传图片保存到数据库的方法。具体分析如下:
php 上传图片,一般都使用move_uploaded_file方法保存在服务器上。但如果一个网站有多台服务器,就需要把图片发布到所有的服务器上才能正常使用(使用图片服务器的除外)
如果把图片数据保存到数据库中,多台服务器间可以实现文件共享,节省空间。
首先图片文件是二进制数据,所以需要把二进制数据保存在mysql数据库。
mysql数据库提供了BLOB类型用于存储大量数据,BLOB是一个二进制对象,能容纳不同大小的数据。
BLOB类型有以下四种,除存储的最大信息量不同外,其他都是一样的。可根据需要使用不同的类型。
TinyBlob 最大 255B
Blob 最大 65K
MediumBlob 最大 16M
LongBlob 最大 4G
数据表photo,用于保存图片数据,结构如下:
CREATE TABLE `photo` (
`id` int(10) unsigned NOT NULL auto_increment,
`type` varchar(100) NOT NULL,
`binarydata` mediumblob NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
upload_image_todb.php代码如下:
<?php
// 连接数据库
$conn=@mysql_connect("localhost","root","") or die(mysql_error());
@mysql_select_db('demo',$conn) or die(mysql_error()); // 判断action
$action = isset($_REQUEST['action'])? $_REQUEST['action'] : '';
// 上传图片
if($action=='add'){
$image = mysql_escape_string(file_get_contents($_FILES['photo']['tmp_name']));
$type = $_FILES['photo']['type'];
$sqlstr = "insert into photo(type,binarydata) values('".$type."','".$image."')";
@mysql_query($sqlstr) or die(mysql_error());
header('location:upload_image_todb.php');
exit();
// 显示图片
}elseif($action=='show'){
$id = isset($_GET['id'])? intval($_GET['id']) : 0;
$sqlstr = "select * from photo where id=$id";
$query = mysql_query($sqlstr) or die(mysql_error());
$thread = mysql_fetch_assoc($query);
if($thread){
header('content-type:'.$thread['type']);
echo $thread['binarydata'];
exit();
}
}else{
// 显示图片列表及上传表单
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title> upload image to db demo </title>
</head>
<body>
<form name="form1" method="post" action="upload_image_todb.php" enctype="multipart/form-data">
<p>图片:<input type="file" name="photo"></p>
<p><input type="hidden" name="action" value="add"><input type="submit" name="b1" value="提交"></p>
</form>
<?php
$sqlstr = "select * from photo order by id desc";
$query = mysql_query($sqlstr) or die(mysql_error());
$result = array();
while($thread=mysql_fetch_assoc($query)){
$result[] = $thread;
}
foreach($result as $val){
echo '<p><img
src="upload_image_todb.php?action=show&id='.$val['id'].'&t='.time().'"
width="150"></p>';
}
?>
</body>
</html>
<?php
}
?>
程序运行截图和数据库截图:
以上就是php图片上传框架 怎样用php实现上传图片到数据库全部内容了,了解更多相关信息,关注我爱编程网。PHP实现上传图片到数据库并显示输出的方法本文实例讲述了PHP实现上传图片到数据库并显示输出的方法。分享给大家供大家参考,具体如下:1.创建数据表CREATETABLEccs_image(idint(4)unsignedNOTNULLauto_increment,descriptionvarchar(250)defaultNUL
怎样用php实现上传图片到数据库php实现上传图片保存到数据库的方法。具体分析如下:php上传图片,一般都使用move_uploaded_file方法保存在服务器上。但如果一个网站有多台服务器,就需要把图片发布到所有的服务器上才能正常使用(使用图片服务器的除外)如果把图片数据保存到数据库中,多台服务器间可以实现文件共享,节省空间。首先图片文件是二进制数据,所以需要把二进制数
php怎样上传图片一下代码可以实现简单的(单个的)文件上传,你看看吧:有更好的方法可以讨论<?php////////上传文件////////////if(isset($_POST["sub"])){ //$upfile="../upload_file/".$_FILES["file"]["name"]; $name=time();//定义变量,保存图片名,以防图片的名字相同 echo
PHP后台添加图片信息和文字信息同时上传啊,比如先inster文字信息进库,query成功之后,再上传图片。当然也可以先上传图片,再文字入库,文字入库不成功的话,再unlink(删除)掉图片。上传是没有先后次序的。所有数据一起被发往服务器。(你的在线编辑器不错,能发我一个吗?170525859163@.com)谢谢。有空我们还能多多交流。QQ就是前面那个数字了。顺便贴个上传代
WebUploader+php视频分片上传由于最近项目中遇到有做视频上传的功能,决定写一篇文章详细说明大文件上传的原理和使用BaiduWebFE(FEX)团队开发的文件上传插件WebUploader。利用前端框架WebUploader配置进行对大文件的分片(由Baidu官方测试,每5M一个分片是效率最高的),这里,我的服务端是php,所以需要修改php.ini里面的post_max_s
inputfile用了multiple属性,而且选择了多张图片,PHP该怎么上传?其实就那两个函数\x0d\x0ais_uploaded_file()和move_uploaded_file()\x0d\x0a是循环上传的。你打印下$_FILES这个超全局数组就明白了。下面我的测试代码上传图片的:\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a无标题
php微信上传永久图片素材求代码您好,这样的://素材constMEDIA_FOREVER_UPLOAD_URL='/material/add_material?';constMEDIA_FOREVER_NEWS_UPLOAD_URL='/material/add_news?';constMEDIA_FOREVER_NEWS_UPDATE_URL='/material/upd
前端图片上传给后端还需要给后端字段吗【聚焦前端实战】后端让我把图片文件和字段一起上传了...2022年11月21日但是如果要把字段和图片文件一起上传那就不支持了,当然也不能像普通的字段上传一样使用JSON,这个时候就要掏出我们的FormData格式了!CSDN编程社区大家还在搜js将文件转为二进制流vue选择文件夹获取绝对路径后端响应图片url给前端前
2023-09-13 13:02:53
2023-09-21 21:18:47
2023-06-26 19:36:09
2023-07-16 10:35:19
2023-07-16 10:26:24
2023-06-26 23:28:31