`

php生成二维码

    博客分类:
  • php
阅读更多
<?php

class qrcode {
    private $data;    //creating text qr code  
    public function text($text) {
        $this->data = $text;
    }

//creating code with link mtadata  
    public function link($url) {
        if (preg_match('/^http:\/\//', $url) || preg_match('/^https:\/\//', $url)) {
            $this->data = $url;
        } else {
            $this->data = "<a href=\"http://".$url."\">http://".$url."</a>";   
        }
    }

//creating code with bookmark metadata 
    public function bookmark($title, $url) {
        $this->data = "MEBKM:TITLE:" . $title . ";URL:" . $url . ";;";
    }

//creating code with email address metadata
    public function email_address($email) {
        $this->data = "<a href='mailto:'".$email.">MAILTO:".$email."</a>";
    }

    //creating code with email metadata
    public function email($email, $subject, $message) {
        $this->data = "MATMSG:TO:" . $email . ";SUB:" . $subject . ";BODY:" . $message . ";;";
    }

    //creating code with phone
    public function phone_number($phone) {
        $this->data = "TEL:" . $phone;
    }

    //creating code with sms metadata  
    public function sms($phone, $text) {
        $this->data = "SMSTO:" . $phone . ":" . $text;
    }

    //creating code with mms metadata  
    public function mms($phone, $text) {
        $this->data = "MMSTO:" . $phone . ":" . $text;
    }

    //creating code with mecard metadata 
    public function contact_info($name, $address, $phone, $email) {
        $this->data = "MECARD:N:" . $name . ";ADR:" . $address . ";TEL:" . $phone . ";EMAIL:" . $email . ";;";
    }

    //creating code with geo location metadata  
    public function geo($lat, $lon, $height) {
        $this->data = "GEO:" . $lat . ", " . $lon . ", " . $height;
    }

    //creating code with wifi configuration metadata 
    public function wifi($type, $ssid, $pass) {
        $this->data = "WIFI:T:" . $type . ";S" . $ssid . ";" . $pass . ";;";
    }

    //creating code with i-appli activating meta data
    public function iappli($adf, $cmd, $param) {
        $cur = current($param);
        $next = next($param);
        $param_str = "";
        foreach ($cur as $key => $val) {
            $param_str .= "PARAM:" . $val . ", " . $next[$key] . ";";
        }
        $this->data = "LAPL:ADFURL:" . $adf . ";CMD:" . $cmd . ";" . $param_str . ";";
    }

    //creating code with gif or jpg image, or smf, MFi or ToruCa files as content 
    public function content($type, $size, $content) {
        $this->data = "CNTS:TYPE:" . $type . ";LNG:" . $size . ";BODY:" . $content . ";;";
    }

    //getting image 
    public function get_image($size = 150, $EC_level = 'L', $margin = '0') {
        $ch = curl_init();
        $this->data = urlencode($this->data);
        curl_setopt($ch, CURLOPT_URL, 'http://chart.apis.google.com/chart');
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, 'chs=' . $size . 'x' . $size . '&cht=qr&chld=' . $EC_level . '|' . $margin . '&chl=' . $this->data);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_HEADER, false);
        curl_setopt($ch, CURLOPT_TIMEOUT, 30);

        $response = curl_exec($ch);
        curl_close($ch);
        return $response;
    }

    //getting link for image
    public function get_link($size = 150, $EC_level = 'L', $margin = '0') {
        $this->data = urlencode($this->data);
        return 'http://chart.apis.google.com/chart?chs=' . $size . 'x' . $size . '&cht=qr&chld=' . $EC_level . '|' . $margin . '&chl=' . $this->data;
    }

    //forsing image download 
    public function download_image($file) {
        header('Content-Description: File Transfer');
        header('Content-Type: image/png');
        header('Content-Disposition: attachment; filename=QRcode.png');
        header('Content-Transfer-Encoding: binary');
        header('Expires: 0');
        header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header('Pragma: public');
        header('Content-Length: ' . filesize($file));
        ob_clean();
        flush();
        echo $file;
    }

}

?>

 实例运用

<?php
include("qrcode.php");
$qr = new qrcode();
//bookmark
$title = "antdz";
$url = "http://antdz.iteye.com/";
$qr->bookmark($title,$url);
//获取二维码图片URL
echo "<img src='".$qr->get_link()."'>";

//here is the way to output image 

//header("Content-type:image/png");
//echo $qr->get_image();
//and here is the way to force image download
//$file = $qr->get_image();
//$qr->download_image($file)
?>
 
分享到:
评论

相关推荐

    PHP生成二维码类库

    PHP生成二维码的功能则为开发者提供了在网页中创建和展示二维码的能力。下面我们将详细探讨PHP生成二维码的相关知识点。 首先,我们需要了解的是PHP生成二维码的一种常见类库——"phpqrcode"。这个开源项目...

    PHP生成二维码图片

    本文将深入探讨如何使用PHP生成二维码图片,并将其整合到ThinkPHP项目中。 首先,我们需要了解生成二维码的基本原理。二维码是二维条形码的一种,它能够存储更多的信息,如网址、文本、名片等。生成二维码通常需要...

    一个php生成二维码的包

    当你提到“一个php生成二维码的包”,这通常是指一个PHP类库或框架,用于帮助开发者在PHP项目中生成二维码图像。 这个包的标题明确指出了它的功能——生成二维码。描述中提到“解压之后直接访问是一个例子”,这...

    PHP生成二维码的接口文件

    本文将深入探讨如何使用PHP生成二维码,以及与Redis缓存服务的集成。 首先,我们关注的是"PHP生成二维码的接口文件"。这意味着我们要创建一个PHP脚本,该脚本可以接收参数并生成相应的二维码图像。PHP QR Code库...

    php生成二维码源代码,PHP读取二维码源代码,jQuery生成二维码源代码

    首先,我们来看PHP生成二维码的实现。PHP可以通过第三方库如`PHP QR Code`来实现这个功能。`PHP QR Code`是一个用PHP编写的开源项目,能够生成从低到高的错误校正等级的各种二维码。使用步骤如下: 1. 下载并安装`...

    php生成二维码类和方法.zip

    本篇将详细讲解如何利用PHP生成二维码,以及一个特定的类和方法,帮助你理解和应用。 首先,我们要知道生成二维码的基本原理。二维码是一种二维条形码,可以存储各种类型的数据,如文本、URL、联系人信息等。通过...

    php生成二维码的几种方式

    php生成二维码的几种方式 1.google开放api $urlToEncode="http://bbs.lewanchina.com"; generateQRfromGoogle($urlToEncode); function generateQRfromGoogle($chl,$widhtHeight ='150',$EC_level='L',$margin='0')...

    PHP生成二维码实例附演示地址(yii框架生成二维码).rar

    本教程将深入探讨如何在Yii框架下利用PHP生成二维码。 首先,让我们了解一下Yii框架。Yii是一个高性能的、基于组件的PHP框架,适用于开发Web 2.0应用。它提供了一系列强大的特性,如MVC(模型-视图-控制器)架构、...

    PHP生成二维码与识别二维码(1).rar

    首先,让我们了解PHP生成二维码的基本原理。PHP本身并不直接支持二维码操作,但可以通过第三方库来实现。描述中提到的"PHP后台扫码程序源码"很可能包含了如PHP QR Code这样的库,这是一个开源项目,允许开发者用PHP...

    php生成二维码(已封装)

    本教程将深入探讨如何使用PHP生成二维码,特别关注已封装的函数,以及如何在服务器上部署以实现带或不带Logo的二维码。 首先,我们需要了解二维码的基本原理。二维码(Quick Response Code)是一种二维条形码,包含...

    php生成二维码到服务器并可一键打包.7z

    本文将基于给定的文件信息,深入探讨如何利用PHP生成二维码到服务器,并进行一键打包的功能。 首先,我们要理解“php生成二维码到服务器”的概念。在PHP中,生成二维码主要依赖于第三方库,如`Endroid QR Code`或`...

    php 生成二维码完整代码

    本篇文章将详细介绍如何使用PHP生成二维码,并结合提供的文件列表进行解析。 首先,我们需要了解二维码的基本原理。二维码是一种二维条形码,能存储包括文字、数字、URL等多种类型的数据,并且可以通过智能手机等...

    php生成二维码插件

    php生成二维码插件,简单好用 嗯嗯

    phpqrcode.zip php生成二维码

    《PHP生成二维码技术详解》 二维码(QR Code)作为一种便捷的信息载体,已经在各种场合得到了广泛应用。在PHP中生成二维码,可以方便地将网址、文本、联系方式等信息编码为图形,供用户快速扫描读取。本篇文章将...

Global site tag (gtag.js) - Google Analytics