ThinkPHP 解析二维码

来源:互联网 发布:数据分析师好找工作吗 编辑:程序博客网 时间:2024/06/08 01:25

目前网上还木有php 解析二维码的开源库,在百度中找到这个网站能够解析二维码,于是研究一下。然后使用PHP curl扩展模拟图片上传解析的效果,代码如下:

/**
* 二维码解析
* @return json
*/
public function analyTwocode(){

import('ORG.Net.UploadFile');

$uploaddir = rtrim($_SERVER['DOCUMENT_ROOT'],'/') . __ROOT__ .'/Uploads/';
$uploadfile = $uploaddir . basename($_FILES['Filedata']['name']);

$upload = new UploadFile();
$upload->maxSize  = 3145728 ;
$upload->saveRule = uniqid().'_'.mt_rand();
$upload->allowExts  = array('jpg', 'gif', 'png', 'jpeg');
$upload->savePath = $uploaddir;

if(!$upload->upload()) {
$result = $this->error($upload->getErrorMsg());
}else{
$info = $upload->getUploadFileInfo();
$file = $uploaddir.$info[0]['savename'];

$post_data['f'] = "@".$file;
$post_data['upfile'] = $info[0]['savename'];
$post_url = "http://2vmashare.sinaapp.com/func/decode.php";

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $post_url);
curl_setopt($curl, CURLOPT_POST, 1 );
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl,CURLOPT_USERAGENT,"Mozilla/4.0");
$data = curl_exec($curl);
$error = curl_error($curl);

if($error)
{
$this->ajaxReturn($error,'上传失败',0);
}else{
preg_match("/<body.*?>(.*?)<\/body>/is",$data,$str);
$result = preg_replace("'<script(.*?)<\/script>'is","",$str[1]);
unlink($uploadfile);
$this->ajaxReturn($result,'上传成功',1);
}
}
}

0 0
原创粉丝点击