tp5实现图片上传数据库与显示

图片从前端页面获取

html文件

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>图片上传</title>

</head>
<body>
	<form action="" enctype="multipart/form-data" method="post">
            <input type="file" name="image" id="imgs" /> <br> 
            <input type="submit" value="上传" id="mySubmit" /> 
    </form> 
   
</body>
</html>

后台获取数据

php文件

 public function index()
    {
        //$name= input('text');
       // $date= date("Y/m/d") ;
        // echo $meg;
         $file = request()->file('image');


    // 移动到框架应用根目录/public/uploads/ 目录下
    if($file){
        $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
        if($info){
            // 成功上传后 获取上传信息
            // 输出 jpg
            echo $info->getExtension();
            $info= $info->getSaveName();
            echo $info;
            // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
            // echo $info->getSaveName();
            // $info1= $info->getExtension()
            // 输出 42a79759f284b767dfcb2a0197904287.jpg
            // echo $info->getFilename(); 
           //gete为数据表名
            $data = ['gete' => $info, 'time' => $date,'name'=>$name];
            $data1=Db::name('poto')->insert($data);
            if ($data1==1) {
                echo "成功上传";
            }



        }else{
            // 上传失败获取错误信息
            echo $file->getError();
        }
      }
      //用于图片再前端显示
      $info=Db::table("poto")->select();
        $this->assign("info",$info);
        //var_dump ( $info);die;
        //输出的就是储存图片的名字
    	return view();
    }
  

前端图片的加载

html文件

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>图片上传</title>

</head>
<body>
	
    {volist name="info" id="vo"}
 <img src="../public/uploads/{$vo.gete}" width="100%" alt=""/>
//图片的路径
</body>
</html>

总结:

1、再后端获取图片的时候,注意图片临时储存的文件位置。
2、对获取的图片处理时,首先查看是否获取到了图片的信息等,
3、图片存数据库的时候注意数据库字段的对应使用。
4、显示图片的时候仔细查看图片的路径是否正确。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值