获得图片二进制流

  1. header( "Content-type: image/jpeg");
    $PSize = filesize('1.jpg');
    $picturedata = fread(fopen('1.jpg', "r"), $PSize);
    echo $picturedata;

  2. //For example

  3. <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>

  4. // 用来处理上传的数据流代码

  5. 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("失败");

            }

        }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值