• 技术文章 >后端开发 >php教程

    thinkphp jquery实现图片上传和预览效果

    不言不言2018-05-05 15:04:42原创1621
    这篇文章主要为大家详细介绍了thinkphp上传图片功能,和jquery预览图片效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    先上效果图:

    php入门到就业线上直播课:进入学习

    那个file按钮样式先忽略

    点击选择图片(浏览),随便选一张图片

    js代码如下

    //上传图片立即预览
     function PreviewImage(imgFile) {
      var filextension = imgFile.value.substring(imgFile.value
        .lastIndexOf("."), imgFile.value.length);
      filextension = filextension.toLowerCase();
      if ((filextension != '.jpg') && (filextension != '.gif')
        && (filextension != '.jpeg') && (filextension != '.png')
        && (filextension != '.bmp')) {
       alert("对不起,系统仅支持标准格式的照片,请您调整格式后重新上传,谢谢 !");
       imgFile.focus();
      } else {
       var path;
       if (document.all)//IE
       {
        imgFile.select();
        path = document.selection.createRange().text;
        document.getElementById("photo_info").innerHTML = "";
        document.getElementById("photo_info").style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',sizingMethod='scale',src=\""
          + path + "\")";//使用滤镜效果  
       } else//FF
       {
        path = window.URL.createObjectURL(imgFile.files[0]);// FF 7.0以上
        //path = imgFile.files[0].getAsDataURL();// FF 3.0
        document.getElementById("photo_info").innerHTML = "<img id='img1' width='120px' height='100px' src='"+path+"'/>";
        //document.getElementById("img1").src = path;
       }
      }
     }

    html代码,其实不重要啦

    <p class="form-group has-success has-feedback">
           <label for="info_photo" class="col-sm-2 control-label">物品图片</label>
           <p class="col-sm-10">
    
            <span class="btn btn-success btn-file"> 选择图片 <span
             class="glyphicon glyphicon-picture" aria-hidden="true"></span>
             <input type="file" name="info_photo" value="" id="info_photo"
             onchange='PreviewImage(this)' />
            </span>
           </p>
    
          </p>
    
          <p class="form-group has-success has-feedback">
           <label for="info_desc" class="col-sm-2 control-label"><span
            style="color: red;">* </span> 详细描述</label>
           <p class="col-sm-10">
            <textarea class="form-control" rows="5" id="info_desc"
             name="info_desc" placeholder="如需补充,请填写..." title="可包含中文数字和常用字符"></textarea>
            <p id="photo_info" class="photo_info"></p>
           </p>
          </p>

    css代码就不上了啊
    顺便补充一下thinkphp上传图片代码,把整个发布消息都拷过了算了

    public function loseThing(){
       $m=M('info');
       $m->create();
       $upload = new \Think\Upload();// 实例化上传类
       $upload->maxSize =  3145728 ;// 设置附件上传大小
       $upload->exts  =  array('jpg', 'gif', 'png', 'jpeg','bmp');// 设置附件上传类型
       $upload->rootPath = './Public/';
       $upload->savePath = '/Uploads/'; // 设置附件上传目录
       $upload->autoSub = false;
       // 上传文件
       $info = $upload->upload();
       if($info) {
      // 上传成功
       foreach($info as $file){
        $m->info_photo=$file['savename'];
       }
      }
       $m->create_time=date('Y-m-d H:i:s',time()); 
       $m->uid=$_SESSION['id'];
       $m->username=$_SESSION['username'];
      /* $m->user_img=$_SESSION['filename']; */
    
       $m->info_type="寻物启事";//信息类型为失物
       $lastId=$m->add();
       if($lastId){
        $this->success('发布成功');
       }else{
        $this->error('发布失败,请先登录');
       } 
      }

    相关推荐:

    基于ThinkPHP5.0实现图片上传插件

    jQuery实现带有本地预览功能的图片上传

    以上就是thinkphp jquery实现图片上传和预览效果的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    ThinkPHP6基础与实战:点击学习

    课程从基础到实战详细分析讲解

    专题推荐:thinkphp jquery php
    上一篇:thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 浅析PHP8.0特性:Named Parameter(命名参数)• 手把手教你用PHP快速连接SqlServer• 使用PHP程序header location 开展跳转的注意的一个细节 • phpMyAdmin不能联接到mysql上 • ThinkPHP兑现在线生成准考证
    1/1

    PHP中文网