摘要:鉴于上一篇上传图片到数据库并可以进行显示链接描述有笔友提出了改进意见,下面这篇文章就是采纳改进意见进行修改的另外一种方案。结语本人刚接触不久,自知能力不够水平有限,该文中若存在什么不足或需改进之处还请大家多多指正。
鉴于上一篇《PHP上传图片到数据库并可以进行显示》链接描述有笔友提出了改进意见,下面这篇文章就是采纳改进意见进行修改的另外一种方案。
1、创建数据表
CREATE TABLE image( id int(4) unsigned NOT NULL AUTO_INCREMENT, name varchar(100) default NULL, path varchar(100) default NULL, time timestamp default CURRENT_TIMESTAMP, PRIMARY KEY(id) )engine=myisam DEFAULT charset=utf8
2、新建一个uploads文件夹
uploads文件夹下面新建一个images文件夹(用来存放上传后的图片的文件夹)
,创建index.php(用于点击选择文件后提交的页面),upimage.php(实现图片上传的代码存放),getimage.php(实现图片显示的代码存放)
3、用于点击选择文件后提交页面的index.php
图片上传和下载 文件上传
3、实现图片上传的代码存放
0){ switch($upfile["error"]){//获取错误信息 case 1: $info="上传得文件超过了 php.ini中upload_max_filesize 选项中的最大值."; break; case 2: $info="上传文件大小超过了html中MAX_FILE_SIZE 选项中的最大值."; break; case 3: $info="文件只有部分被上传"; break; case 4: $info="没有文件被上传."; break; case 5: $info="找不到临时文件夹."; break; case 6: $info="文件写入失败!";break; }die("上传文件错误,原因:".$info); } //3.本次上传文件大小的过滤(自己选择) if($upfile["size"]>100000){ die("上传文件大小超出限制"); } //4.类型过滤 if(!in_array($upfile["type"],$typelist)){ die("上传文件类型非法!".$upfile["type"]); } //5.上传后的文件名定义(随机获取一个文件名) $fileinfo=pathinfo($upfile["name"]);//解析上传文件名字 do{ $newfile=date("YmdHis").rand(1000,9999).".".$fileinfo["extension"]; }while(file_exists($path.$newfile)); //6.执行文件上传 //判断是否是一个上传的文件 if(is_uploaded_file($upfile["tmp_name"])){ //执行文件上传(移动上传文件) if(move_uploaded_file($upfile["tmp_name"],$path.$newfile)){ echo "文件上传成功!"; //将文件名和路径存储到数据库 $dbms = "mysql"; //数据库类型 $host = "localhost"; //数据库主机名 $dbName = "smart_lock"; // 使用的数据库 $user = "root"; //数据库连接用户名 $pass = "123456"; //对应的密码 $dsn ="mysql:host = $host;dbname=$dbName"; $pdo = new PDO($dsn,$user,$pass); $data = addslashes(fread(fopen($pic,"r"),filesize($pic))); //将图片的名称和路径存入数据库 $query = "INSERT INTO image(name,path)VALUES("$newfile","$path$newfile")"; $result = $pdo -> query($query); if($result){ echo"文件已存储到数据库"; } else{ echo"请求失败,请重试"; } }else{ die("上传文件失败!"); } }else{ die("不是一个上传文件!"); } ?>
4、实现图片显示的getimage.php
query($query); if($result){ $result = $result->fetchAll(2); echo ""; // $path="./uploads/";//定义一个上传后的目录 // echo ""; } else{ echo "Handle errors"; } ?>
5、运行结果
(1)图片上传成功后在数据库中的存储如下
运行getimage.php文件最终显示上传的图片如下
最后打开images文件还可以看到上传的图片均已保存在该文件夹中。
结语:本人刚接触PHP不久,自知能力不够水平有限,该文中若存在什么不足或需改进之处还请大家多多指正。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/29094.html
摘要:前言在使用编辑器时,一般我们都是需要修改默认的图片上传路径的,下面是我整理好的修改位置和方法供大家参考。如果想修改上传路径,那么通过修改文件第行就可以做到。 前言 在使用UEditor编辑器时,一般我们都是需要修改默认的图片上传路径的,下面是我整理好的修改位置和方法供大家参考。 操作 Ueditor PHP版本本身自带了一套上传程序,我们可以在此基础中,找到配置文件修改它。配置文件位置...
项目要求上传图片的模块,这个简单,但是要在保存图片后需要编辑就不怎么好处理了,现在就和大家一起分享。 一、应用场景 1.上传图片并进行放大预览 2.图片上传代码 就是直接将图片上传到接口,成功后返回图片路径,表单提交时,后台要路径拼成的字符串格式,类似str=‘/uploads/20220418/d93905dbcd041a0a88abc72fd34b6c98.jpg,/uploads...
摘要:关于上传图文消息素材和新增永久图文素材的区别上传图文消息素材等于是直接把图文素材传到微信的服务器,每次凭借获取素材,并且不占用素材库新增永久图文素材在开发者和微信服务器之间,多了一个素材库。 **说明1.文章和有道笔记几乎内容相同,所以如果有人在有道上有幸看到一样的文章,应该也是我写的,除非是全部复制2.内容会较长,故会拆分多篇文章讲解3.目前基本的群发已记录完结,如果后续有补充,会作...
摘要:第三种,使用格式,即在中请求参数处理跨域问题当然请求方式只能是。最后发现有网友说版本不稳定引起的,于是把百度地图回退到了,结果还真是可以了。请问在移动端页面中播放优酷里面的视频,怎样实现 1.web扫码登录怎么实现,思路 步骤 WEB平台 手机 第1步 生成二维码 第2步 (ajax监控后台) 扫码 第3步 ...
阅读 3679·2021-11-23 09:51
阅读 1332·2021-11-10 14:35
阅读 3996·2021-09-22 15:01
阅读 1253·2021-08-19 11:12
阅读 369·2019-08-30 15:53
阅读 1674·2019-08-29 13:04
阅读 3416·2019-08-29 12:52
阅读 3044·2019-08-23 16:14