zoukankan      html  css  js  c++  java
  • php 接受处理二进制数据流并保存成图片

    <form action="提交到处理地址" method="post" enctype="multipart/form-data" class="form-horizontal">
          <div class="form-group">
                  <label class="col-lg-2 col-sm-2 control-label">上传图片</label>
                  <div class="col-lg-4">
                         <input type="file" name="photo">
                  </div>
          </div>
          <div class="form-group">
                  <div class="col-lg-offset-2 col-lg-4">
                          <button type="submit" name="submit" class="btn btn-default">确定</button>
                  </div>
           </div>
    </form>
    

      

    // 用来处理上传的数据流代码
    public function imgApp(){
            //方式一:电脑上传文件
            $image = $_FILES["photo"]["tmp_name"];
            $fp = fopen($image, "r");
            $file = fread($fp, $_FILES["photo"]["size"]); //二进制数据流
    
            //保存地址
            $imgDir = './Uploads/';   //必须是项目所在的绝对路径
            //要生成的图片名字
            $filename = date("Ym")."/".md5(time().mt_rand(10, 99)).".png"; //新图片名称
            $newFilePath = $imgDir.$filename;
            $data = $file;
            $newFile = fopen($newFilePath,"w"); //打开文件准备写入
            fwrite($newFile,$data); //写入二进制流到文件
            fclose($newFile); //关闭文件
    
     
    
            //写入数据库
            $arr = array(
                    "uid" => 1, //用户id
                    "cid" => 1, //分类id
                    "a_title" => $_POST["a_title"], //标题
                    "a_content" => $_POST["a_content"], //内容
                    "photo" => $filename, //图片路径
                    "a_urgent" => $_POST['status'] == 'on' ? 0 : 1, //是否急需
                    "add_time" => time(), //创建时间
                );
    
            if(empty($arr["a_title"])){
                $this->error("标题不为空");
            } else if(empty($arr["a_content"])) {
                $this->error("内容不为空");
            }
    
            if($db = M("answer")->add($arr)){
                $this->success("保存成功", "demo2");
            } else {
                $this->error("失败");
            }
    }
    

      

  • 相关阅读:
    [转载]浅谈多态机制的意义及实现
    [转载]浅析Java虚拟机结构与机制
    为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment?
    Android-- FragmentStatePagerAdapter分页
    android-点击空白或点击除EditText之外的控件隐藏软键盘
    populating-next-right-pointers-in-each-node
    roman-to-integer
    same-tree
    palindrome-number
    best-time-to-buy-and-sell-stock
  • 原文地址:https://www.cnblogs.com/qhorse/p/5025713.html
Copyright © 2011-2022 走看看