ThinkPHP 解析二维码

PHP实现二维码解析
这篇博客介绍了如何使用PHP来解析二维码。作者通过模拟图片上传,利用curl扩展与特定网站API交互,实现了二维码的内容提取。代码中定义了一个`analyTwocode`方法,包含文件上传、错误处理和API调用等步骤。

目前网上还木有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);
}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值