zoukankan      html  css  js  c++  java
  • php接收二进制文件转换成图片

    php接收二进制文件转换成图片,php://input
    $GLOBALS['HTTP_RAW_POST_DATA']



    as3 代码


    var bitmapData:BitmapData = new BitmapData(drawWidth,
    drawHeight);//的到BitmapData


    var myMatrix:Matrix = new Matrix(1, 0, 0, 1, drawWidth/ 2, drawHeight/ 2);//改变中心点


    bitmapData.draw(Con_mc, myMatrix);//绘制位图数据



    var encoder:JPGEncoder = new JPGEncoder(80);


    var bytes:ByteArray = encoder.encode(bitmapData);//得到二进制位图数据



    var request = new URLRequest("detail.php");


    request.data = bytes;


    request.method = URLRequestMethod.POST;


    request.contentType = "application/octet-stream";



    var loader:URLLoader = new URLLoader();


    loader.addEventListener(Event.COMPLETE, completeHandler);


    loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);


    loader.load(request);//发送请求


    //flash得到 php返回的数据代码



    private function completeHandler(Evt:Event):void


    {


    var callBack:String = Evt.currentTarget.data;


    }



    detail.php代码


    <?php
    $filename="teststream.jpg";//要生成的图片名字
    if
    (!empty($GLOBALS["HTTP_RAW_POST_DATA"]))
    {
      $jpg =
    $GLOBALS["HTTP_RAW_POST_DATA"];//得到post过来的二进制原始数据
      $file =
    fopen("cache/pic/".$filename,"w");//打开文件准备写入
      fwrite($file,$jpg);//写入
      fclose($file);//关闭
    }
    ?>





    $data = $GLOBALS['HTTP_RAW_POST_DATA'];


    if(!empty($data)){


        $now = date("YmdHis"); //给图片产生 名称


        $path = "admin/uploads/"; //定义上传路径 他是相对于 detail.php 的文件路径


        if(!file_exists($path.$now.".jpg")){        


          $fo = fopen($path.$now.".jpg","w");


            if(fwrite($fo,$data) === false){                


                $flag = "0";        


            }else{               


                $flag = $now.".jpg";


            }


             echo $flag;exit;//将文件名称返回给flash


        }

    /************************************************/

    本博客内容如果是原著都会在标题后加上(原著)字样,未加者多数为转载.

    /************************************************/

  • 相关阅读:
    时间插件--daterangepicker使用和配置详解
    AdminLTE 前端框架
    vue element-ui 绑定@keyup事件无效
    Plugin/Preset files are not allowed to export objects,webpack报错/babel报错的解决方法
    webpack学习
    指令
    【Nuxt】配置路由
    【面试】常见面试题
    安装虚拟机
    【linux】基础知识
  • 原文地址:https://www.cnblogs.com/ghfsusan/p/2611949.html
Copyright © 2011-2022 走看看