懒得整理直接把接口贴上去了。
public function action_test() {
$callback = isset( $_GET[ 'callback' ] ) ? $_GET[ 'callback' ] : 'callback';
$content = Arr::get($_GET, 'content', '');
// 获取会员
$member_id = 0;
$memberinfo = member_Member::getMemberInfo();
if (is_array($memberinfo) && $memberinfo['code'] == 200) {
$member_id = (int)$memberinfo['data']['member_id'];
}
if ($member_id == 0) {
$data = array(
'code' => 30001,
'msg' => '未登录',
'data' => array()
);
} else if (empty($content)){
$data = array(
'code' => 30002,
'msg' => '内容不能为空',
'data' => array()
);
}else {
//生成短字符串
$chars = array(
"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5",
"6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"
);
$url_str = "http://www.guugle.com.cn/".time().rand(0000,9999);
$hash = md5($url_str);
$code = '';
for($i=0;$i<5;$i++){
$temp = substr($hash, $i*6, 6);
$num = base_convert($temp, 16, 10).'<br/>';
$code .= $chars[$num%62];
}
// 检测生成的短字符是否存在
$res = DB::query(Database::SELECT,"SELECT code FROM `tmp_qixijie` WHERE binary code = '".$code."'")
->execute()
->as_array();
if (count($res)) {
//存在的话打乱短码
$code = str_shuffle($code);
}
$idata = array(
'member_id' => $member_id,
'content' => $content,
'code' => $code,
'gmt_created' => date('Y-m-d H:i:s', time())
);
DB::insert('tmp_test', array_keys($idata))
->values(array_values($idata))
->execute();
$url = 'http://www.guugle.com.cn?c='.$code;
//二维码生成
$PNG_WEB_DIR = '/data/.../imgcode/';
include("/data/.../qrlib.php");
$ecc = 'H'; // L-smallest, M, Q, H-best
$size = 6; // 1-50
$file = $code.time().'.png';
$filename = $PNG_WEB_DIR.$file;
QRcode::png($url, $filename, $ecc, $size, 2);
chmod($filename, 0640);
$rdata = array(
'member_id' => $member_id,
'content' => $content,
'url' => $url,
'img' => $file
);
$data = array(
'code' => 200,
'msg' => '留言成功',
'data' => $rdata
);
}
echo $callback.'('.json_encode($data).')';
exit;
}
二维码生成采用插件
下载地址:http://phpqrcode.sourceforge.net