php二维码生成以及下载实现


Posted in PHP onSeptember 28, 2017

本文实例为大家分享了php二维码生成以及下载的具体代码,供大家参考,具体内容如下

<?php
 
//引入phpqrcode库文件
define('IN_ECS', true);
 
require(dirname(__FILE__) . '/includes/init.php');
include('includes/phpqrcode.php');
 
// 二维码数据
$data = 'http://www.baidu.com';
$filename = 'shopEwm/'.'baidu.png';
 
//down_file('baidu.png',BASE_PATH);
setShopEwm($data,$filename);
 
//生成二维码图片
function setShopEwm($data,$filename){
// 纠错级别:L、M、Q、H
 
  $errorCorrectionLevel = 'L';
  // 点的大小:1到10
  $matrixPointSize = 4;
  //创建一个二维码文件
  QRcode::png($data, $filename, $errorCorrectionLevel, $matrixPointSize, 2);
  //输入二维码到浏览器
  //QRcode::png($data);
}
//下载二维码图片
function down_file($file_name){
  $file_sub_dir = str_replace('\\','/',realpath(dirname(__FILE__).'/'))."/shopEwm/";
  //原因 php文件函数,比较古老,需要对中文转码 gb2312
  $file_name=iconv("utf-8","gb2312",$file_name);
 
  //绝对路径
  $file_path=$file_sub_dir.$file_name;
  //1.打开文件
  if(!file_exists($file_path)){
    echo "文件不存在!";
    return ;
  }
 
  $fp=fopen($file_path,"r");
  //2.处理文件
  //获取下载文件的大小
  $file_size=filesize($file_path);
 
  /* if($file_size>30){
 
  echo "<script language='javascript'>window.alert('过大')</script>";
  return ;
  } */
 
  //返回的文件
  header("Content-type: application/octet-stream");
  //按照字节大小返回
  header("Accept-Ranges: bytes");
  //返回文件大小
  header("Accept-Length: $file_size");
  //这里客户端的弹出对话框,对应的文件名
  header("Content-Disposition: attachment; filename=".$file_name);
 
  //向客户端回送数据
 
  $buffer=1024;
  //为了下载的安全,我们最好做一个文件字节读取计数器
  $file_count=0;
  //这句话用于判断文件是否结束
  while(!feof($fp) && ($file_size-$file_count>0) ){
    $file_data=fread($fp,$buffer);
    //统计读了多少个字节
    $file_count+=$buffer;
    //把部分数据回送给浏览器;
    echo $file_data;
  }
 
  //关闭文件
  fclose($fp);
 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
常用表单验证类,有了这个,一般的验证就都齐了。
Dec 06 PHP
相对路径转化成绝对路径
Apr 10 PHP
什么是MVC,好东西啊
May 03 PHP
由php if 想到的些问题
Mar 22 PHP
php采集速度探究总结(原创)
Apr 18 PHP
PHP魔术引号所带来的安全问题分析
Jul 15 PHP
linux下实现定时执行php脚本
Feb 13 PHP
php中使用GD库做验证码
Mar 31 PHP
php版银联支付接口开发简明教程
Oct 14 PHP
PHP实现二维数组根据key进行排序的方法
Dec 30 PHP
Yii2框架数据验证操作实例详解
May 02 PHP
php设计模式之中介者模式分析【星际争霸游戏案例】
Mar 23 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
Sep 28 #PHP
PHP面向对象多态性实现方法简单示例
Sep 27 #PHP
PHP实现使用DOM将XML数据存入数组的方法示例
Sep 27 #PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
Sep 26 #PHP
基于ThinkPHP5.0实现图片上传插件
Sep 25 #PHP
Laravel中encrypt和decrypt的实现方法
Sep 24 #PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 #PHP
You might like
php,不用COM,生成excel文件
2006/10/09 PHP
PHP把数字转成人民币大写的函数分享
2014/06/30 PHP
微信 开发生成带参数的二维码的实例
2016/11/23 PHP
js兼容标准的表格变色效果
2008/06/28 Javascript
firefox下jQuery UI Autocomplete 1.8.*中文输入修正方法
2012/09/19 Javascript
Javascript连接多个数组不用concat来解决
2014/03/24 Javascript
JavaScript中实现sprintf、printf函数
2015/01/27 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
2015/07/29 Javascript
在JavaScript中如何解决用execCommand(
2015/10/19 Javascript
javascript实现PC网页里的拖拽效果
2016/03/14 Javascript
基于JS实现的笛卡尔乘积之商品发布
2016/05/13 Javascript
Bootstrap基本插件学习笔记之按钮(21)
2016/12/08 Javascript
Angular.js中ng-if、ng-show和ng-hide的区别介绍
2017/01/20 Javascript
ajax前台后台跨域请求处理方式
2018/02/08 Javascript
Nuxt配合Node在实际生产中的应用详解
2018/08/07 Javascript
JS实现随机抽选获奖者
2019/11/07 Javascript
node.js中module模块的功能理解与用法实例分析
2020/02/14 Javascript
vue实现带过渡效果的下拉菜单功能
2020/02/19 Javascript
Vue CLI3移动端适配(px2rem或postcss-plugin-px2rem)
2020/04/27 Javascript
python冒泡排序算法的实现代码
2013/11/21 Python
使用python统计文件行数示例分享
2014/02/21 Python
python操作数据库之sqlite3打开数据库、删除、修改示例
2014/03/13 Python
使用Python绘制图表大全总结
2017/02/11 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
2019/08/05 Python
使用Django和Postgres进行全文搜索的实例代码
2020/02/13 Python
Python爬虫HTPP请求方法有哪些
2020/06/03 Python
Python将list元素转存为CSV文件的实现
2020/11/16 Python
使用JS+CSS3技术:让你的名字动起来
2013/04/27 HTML / CSS
Kipling凯浦林美国官网:世界著名时尚休闲包袋品牌
2016/08/24 全球购物
中医临床专业自我鉴定范文
2014/01/15 职场文书
监察建议书
2015/02/04 职场文书
会计工作检讨书
2015/02/19 职场文书
2015年工商局个人工作总结
2015/07/23 职场文书
田径运动会广播稿
2015/08/19 职场文书
go原生库的中bytes.Buffer用法
2021/04/25 Golang
pytorch查看网络参数显存占用量等操作
2021/05/12 Python