真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用php將接收二進(jìn)制數(shù)據(jù)流轉(zhuǎn)換成圖片

如何使用php將接收二進(jìn)制數(shù)據(jù)流轉(zhuǎn)換成圖片?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了富縣免費(fèi)建站歡迎大家使用!

php接收二進(jìn)制數(shù)據(jù)流轉(zhuǎn)換成圖片的方法:首先保留原型,使用【$GLOBALS['HTTP_RAW_POST_DATA']】接受;然后使用【php://input】讀取POST的原始數(shù)據(jù)即可。

php接收二進(jìn)制數(shù)據(jù)流轉(zhuǎn)換成圖片的方法:

PHP默認(rèn)只識(shí)別application/x-www.form-urlencoded標(biāo)準(zhǔn)的數(shù)據(jù)類型。

因此,對(duì)型如text/xml 或者 soap 或者 application/octet-stream 之類的內(nèi)容無法解析,如果用$_POST數(shù)組來接收就會(huì)失??!

故保留原型,交給$GLOBALS['HTTP_RAW_POST_DATA'] 來接收。

另外還有一項(xiàng) php://input 也可以實(shí)現(xiàn)此這個(gè)功能

php://input允許讀取POST的原始數(shù)據(jù)。和$HTTP_RAW_POST_DATA比起來,它給內(nèi)存帶來的壓力較小,并且不需要任何特殊的 php.ini 設(shè)置。php://input$HTTP_RAW_POST_DATA不能用于enctype="multipart/form-data"。

具體代碼為:

error_handler () );  
              
            //設(shè)置保存圖片名稱,若未設(shè)置,則隨機(jī)產(chǎn)生一個(gè)唯一文件名  
            $this->save_name = $save_name ? $save_name : md5 ( mt_rand (), uniqid () );  
            //設(shè)置保存圖片路徑,若未設(shè)置,則使用年/月/日格式進(jìn)行目錄存儲(chǔ)  
            $this->save_dir =  $save_dir ? self::ROOT_PATH .$save_dir : self::ROOT_PATH .date ( 'Y/m/d' );  
               
            //創(chuàng)建文件夾  
            @$this->create_dir ( $this->save_dir );  
            //設(shè)置目錄+圖片完整路徑  
            $this->save_fullpath = $this->save_dir . '/' . $this->save_name;  
        }  
        //兼容PHP4  
        public function image($save_name) {  
            $this->__construct ( $save_name );  
        }  
          
        public function stream2Image() {  
            //二進(jìn)制數(shù)據(jù)流  
            $data = file_get_contents ( 'php://input' ) ? file_get_contents ( 'php://input' ) : gzuncompress ( $GLOBALS ['HTTP_RAW_POST_DATA'] );  
            //數(shù)據(jù)流不為空,則進(jìn)行保存操作  
            if (! emptyempty ( $data )) {  
                //創(chuàng)建并寫入數(shù)據(jù)流,然后保存文件  
                if (@$fp = fopen ( $this->save_fullpath, 'w+' )) {  
                    fwrite ( $fp, $data );  
                    fclose ( $fp );  
                    $baseurl = "http://" . $_SERVER ["SERVER_NAME"] . ":" . $_SERVER ["SERVER_PORT"] . dirname ( $_SERVER ["SCRIPT_NAME"] ) . '/' . $this->save_name;                  
                    if ( $this->getimageInfo ( $baseurl )) {  
                        echo $baseurl;  
                    } else {  
                        echo ( self::NOT_CORRECT_TYPE  );  
                    }  
                } else {  
                  
                }  
            } else {  
                //沒有接收到數(shù)據(jù)流  
                echo ( self::NO_STREAM_DATA );  
            }  
        }  
        /** 
         * 創(chuàng)建文件夾 
         * @param String $dirName 文件夾路徑名 
         */  
        public function create_dir($dirName, $recursive = 1,$mode=0777) {  
            ! is_dir ( $dirName ) && mkdir ( $dirName,$mode,$recursive );  
        }  
        /** 
         * 獲取圖片信息,返回圖片的寬、高、類型、大小、圖片mine類型 
         * @param String $imageName 圖片名稱 
         */  
        public function getimageInfo($imageName = '') {  
            $imageInfo = getimagesize ( $imageName );  
            if ($imageInfo !== false) {  
                $imageType = strtolower ( substr ( image_type_to_extension ( $imageInfo [2] ), 1 ) );  
                $imageSize = filesize ( $imageInfo );  
                return $info = array ('width' => $imageInfo [0], 'height' => $imageInfo [1], 'type' => $imageType, 'size' => $imageSize, 'mine' => $imageInfo ['mine'] );  
            } else {  
                //不是合法的圖片  
                return false;  
            }  
          
        }  
          
        /*private function error_handler($a, $b) { 
            echo $a, $b; 
        }*/  
      
    }

看完上述內(nèi)容,你們掌握如何使用php將接收二進(jìn)制數(shù)據(jù)流轉(zhuǎn)換成圖片的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


分享題目:如何使用php將接收二進(jìn)制數(shù)據(jù)流轉(zhuǎn)換成圖片
URL分享:http://weahome.cn/article/gggcps.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部