`

修改一些PHP工具

阅读更多

原来的代码 在非框架下是木有问题的,但是用在框架下就报错,mb的,终于修改好了... 

 

具体使用见附件,可以自己封装下 呵呵

<?php
namespace yii\helpers;

use common\lib\QRCode2;

/**
 * 二维码图像生成
 */
class QrcodeHelper {

	/**
	 * 输出生成的二维码图片
	 * 
	 * @param  string  $url 对应的url地址
	 * @param  integer $size 图像大小
	 * @param  integer $margin 边距
	 *
	 * @return void 包含二维码图像的输出对象
	 */
	static function generateImage($url,$size=6,$margin=1)
	{
        static $logo = __DIR__ . '/qrlogo.png';
        if (is_readable($logo) )
        {
            return self::generateImageWithLogo($url, $logo,$size,$margin);
        }
        
        $qr = QRCode2::getMinimumQRCode($url, QRCode2::$QR_ERROR_CORRECT_LEVEL_H);
		$im = $qr->createImage($size, $margin);

        header("Content-type: image/gif");
		imagegif($im);
		imagedestroy($im);
	}
    
    /**
	 * 输出生成的二维码图片
	 * 
	 * @param  string  $url 对应的url地址
	 * @param  file  $logo 对应的url地址
	 * @param  integer $size 图像大小
	 * @param  integer $margin 边距
	 *
	 * @return void 包含二维码图像的输出对象
	 */
    static function generateImageWithLogo($url, $logo,$size=6,$margin=1)
    {
        if (!is_readable($logo) )
        {
            return self::generateImage($url, $size, $margin);
        }
        
        $qr = QRCode2::getMinimumQRCode($url, QRCode2::$QR_ERROR_CORRECT_LEVEL_M);
		$im = $qr->createImage($size, $margin);
        
        $im_width = imagesx($im);//二维码图片宽度 
        $im_height = imagesy($im);//二维码图片高度
        
        $logo = imagecreatefromstring(file_get_contents($logo));
        
        $logo_width = imagesx($logo);//logo图片宽度 
        $logo_height = imagesy($logo);//logo图片高度 
        
        $logo_im_width = $im_width / 3; 
        $scale = $logo_width/$logo_im_width; 
        $logo_im_height = $logo_height/$scale; 
        $from_width = ($im_width - $logo_im_width) / 2; 
        //重新组合图片并调整大小 
        imagecopyresampled($im, $logo, $from_width, $from_width, 0, 0, $logo_im_width, 
        $logo_im_height, $logo_width, $logo_height); 
        
        header("Content-type: image/png");
        imagepng($im);
        imagedestroy($im);
    }

}

 

 

/**
 * 二维码图像生成
 */
class Helper_Qrcode {

	/**
	 * 生成二维码图片
	 * 
	 * @param  string  $url 对应的url地址
	 * @param  integer $size 图像大小
	 * @param  integer $margin 边距
	 *
	 * @return QView_Output 包含二维码图像的输出对象
	 */
	static function generateImage($url,$size=6,$margin=1)
	{
		$filename = 'qkenrcode-' . mt_rand();
		ob_start();

		$mime = image_type_to_mime_type(IMAGETYPE_GIF);

		$qr = QRCode::getMinimumQRCode($url, QR_ERROR_CORRECT_LEVEL_H);

		$im = $qr->createImage($size, $margin);

		imagegif($im);
		imagedestroy($im);
		
		unset($im);

		$output = new QView_Output($filename, $mime, ob_get_clean());
		$output
            ->contentDisposition('inline')
            ->enableClientCache(false);

		return $output;
	}

}

 

/**
 * 地理位置相关辅助类
 *
 */
class Helper_Geo {

	private static function trueIp($ip)
	{
		return filter_var($ip,FILTER_VALIDATE_IP,
			FILTER_FLAG_IPV4|FILTER_FLAG_IPV6|
			FILTER_FLAG_NO_RES_RANGE|FILTER_FLAG_NO_PRIV_RANGE);
	}

	/**
	 * 根据 ip 地址计算对应的 地标信息 
	 * 
	 * @param   $ip IP 地址
	 * 
	 * @return array
	 */
	static function getData($ip)
	{
		$ip = self::trueIp($ip);
		if ( $ip )
		{
			Unirest::verifyPeer(false);
			Unirest::timeout(2);
			$response = Unirest::get('http://ip.taobao.com/service/getIpInfo.php', 
				array( "Accept" => "application/json" ),
				array( "ip" => $ip ));

			if ( is_array($response->body) && $response->body['code'] === 0 && !empty($response->body['data']) )
			{
				return $response->body['data'];
			}
     	}
		return false;
	}

}

 

 

  • php.zip (16 KB)
  • 描述: qrcode
  • 下载次数: 2
1
0
分享到:
评论
2 楼 vb2005xu 2014-11-16  
https://github.com/taigaio
1 楼 vb2005xu 2014-11-06  
开发工具模板文件中可以使用
/* @var $this \yii\web\View */
/* @var $content string */

来开启自动提示

相关推荐

    PHPWeb模板批量替换修改工具

    PHPWeb模板批量替换修改工具是一款专门针对PHPWeb框架下的网页模板进行高效、批量修改的实用软件。这款工具能够极大地提高开发人员在维护和更新网站模板时的工作效率,减少了手动逐行修改代码的时间和出错的可能性。...

    更改php版本教程,修改php版本教程,切换php版本教程,修改成最新php版本

    ### 更改PHP版本教程 #### 一、引言 在Web开发领域,PHP作为一种流行的服务器端脚本语言,被广泛应用于动态网站的构建之中。随着技术的发展与安全性的提升,PHP版本不断更新迭代。掌握如何在不同的环境中更换PHP...

    新版PHP多功能在线工具箱网站源码

    【新版PHP多功能在线工具箱网站源码】是一个基于PHP编程语言开发的综合工具集合平台,旨在为开发者、系统管理员和普通用户提供便捷的在线服务。它兼容nginx服务器环境,并且需要PHP5.6版本以及MySQL5.5数据库系统来...

    ASP转PHP 工具

    ASP转PHP工具是一种编程语言转换工具,主要用于将基于Active Server Pages (ASP)技术编写的代码转换为PHP语言。ASP是微软公司开发的一种服务器端脚本环境,广泛应用于Web开发,而PHP则是开源、跨平台的服务器端脚本...

    Asp转Php工具 asp2php

    【Asp转Php工具 Asp2Php】 ASP(Active Server Pages)是微软开发的一种服务器端脚本语言,广泛应用于Web开发领域。然而,随着技术的发展,PHP(Hypertext Preprocessor)因其开源、跨平台、丰富的扩展库以及高效...

    PHP多功能工具箱源码_it工具箱源码_itselfy1d_工具箱源码php_工具箱源码php_php加密_

    此外,源码未加密的特点使得用户可以直接修改和扩展,根据项目需求定制属于自己的工具箱,从而提高开发效率。 总结来说,PHP多功能工具箱源码是一个丰富的学习资源,不仅提供了各种常见功能的实现,还展现了PHP编程...

    3款PHP代码解密工具

    然而,有时我们可能需要处理加密或混淆的PHP代码,这时就需要借助PHP代码解密工具来帮助我们理解或修改这些代码。以下是三款测试可用的PHP代码解密工具的详细介绍,以及如何使用它们的相关知识点。 1. 黑刀dezender...

    php反编译工具 dezend

    然而,为了保护代码不被未经授权的用户阅读或修改,有时候开发者会选择对PHP代码进行编译,将其转换为无法直接读取的字节码。在这样的背景下,"dezend"这款PHP反编译工具应运而生。 Dezend是一款专门用于反编译PHP...

    PHP注入工具超强工具包

    5. **漏洞利用模块**:一旦发现漏洞,这些工具可能能帮助攻击者执行更复杂的操作,如数据泄露、数据库修改或服务器控制。 6. **教育和学习资源**:工具包可能还包括教程和文档,帮助用户了解PHP注入的概念和防御...

    PHP源码加密工具(php-beast)php7版 v1.0

    使用方法:1)安装$ wget https://codeload.github.com/liexusong/php-beast/zip/php7$ unzip php-beast-php7.zip$ cd php-beast-php7$ phpize$ ./configure$ sudo make && make install2)修改php.ini 添加配置:...

    PHP API接口测试小工具

    为了进一步了解并使用这个工具,你需要解压文件,阅读文档以获取详细步骤,并根据实际需求编写或修改测试脚本。 使用PHP API接口测试小工具进行测试时,开发者需要注意以下几点: 1. **理解API规范**:在开始测试...

    PHP注入工具 2.1

    9. **持续集成与持续监控**:将PHP注入工具2.1集成到持续集成/持续部署(CI/CD)流程中,可以确保每次代码更改后都进行安全检查,及时发现并修复新出现的漏洞。 10. **教育与培训**:除了工具本身的使用,了解注入...

    php图片管理工具开源版

    【压缩包子文件的文件名称列表】中包含的文件提供了关于该工具内部结构的一些线索: 1. `.htaccess_blank`:这通常是Apache服务器的配置文件,用于设置访问控制、URL重写等。空白版本可能用于用户根据自己的需求...

    SeayDzend PHP解密工具

    SeayDzend PHP解密工具是一款专为PHP开发者设计的实用工具,主要用于...通过这款工具,开发者可以更有效地理解和修改加密的PHP代码,提高开发效率,同时也提醒我们在尊重他人劳动成果的同时,合法合规地使用相关工具。

    修改php工具

    非常不错的修改工具,我一直在使用的,希望大家的支持和好评

    PHP中文搜索工具

    PHP中文搜索工具是一种基于PHP编程语言的搜索引擎实现,主要用于处理和检索中文内容。这个工具集成了教学录像,方便用户学习和理解如何有效地使用和自定义它。PHP作为一门广泛使用的服务器端脚本语言,尤其适合于...

    PHP在线工具箱源码 站长引流+在线工具箱源码+多款有趣的在线工具

    【PHP在线工具箱源码】是一种专门为网站管理员和开发者设计的资源,它包含了多种实用的在线工具,可以方便用户在网站上直接进行各种常见的计算、转换、编码等操作,从而吸引流量并提升用户体验。这样的工具箱通常...

    明小子 注入工具 sql php

    是正常的”这一情况,表明该工具可能包含了一些被安全软件标记为可疑的代码片段,这些可能是为了模拟攻击行为而设计的,因此在正常使用时可能会引起误报。 【标签】"明小子 注入工具 SQL PHP"进一步明确了工具的...

Global site tag (gtag.js) - Google Analytics