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 相关文章推荐
用libTemplate实现静态网页的生成
Oct 09 PHP
PHP4在Windows2000下的安装
Oct 09 PHP
利用discuz实现PHP大文件上传应用实例代码
Nov 14 PHP
防止MySQL注入或HTML表单滥用的PHP程序
Jan 21 PHP
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
Aug 07 PHP
php中使用Akismet防止垃圾评论的代码
Jun 10 PHP
discuz程序的PHP加密函数原理分析
Aug 05 PHP
PHP setTime 设置当前时间的代码
Aug 27 PHP
php页面消耗内存过大的处理办法
Mar 18 PHP
php利用gd库为图片添加水印
Nov 09 PHP
PHP中时间加减函数strtotime用法分析
Apr 26 PHP
PHP+redis实现微博的推模型案例分析
Jul 10 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
收音机频率指针指示不准确和灵敏度低问题
2021/03/02 无线电
Yii中表单用法实例详解
2016/01/05 PHP
php微信扫码支付 php公众号支付
2019/03/24 PHP
Laravel框架Request、Response及Session操作示例
2019/05/06 PHP
javascript 中对象的继承〔转贴〕
2007/01/22 Javascript
JS与框架页的操作代码
2010/01/17 Javascript
js获取checkbox复选框选中的选项实例
2014/08/24 Javascript
jQuery使用之处理页面元素用法实例
2015/01/19 Javascript
将json转换成struts参数的方法
2016/11/08 Javascript
纯js实现html转pdf的简单实例(推荐)
2017/02/16 Javascript
详解Vue.js搭建路由报错 router.map is not a function
2017/06/27 Javascript
基于JQuery的Ajax方法使用详解
2017/08/16 jQuery
Node.js中使用mongoose操作mongodb数据库的方法
2017/09/12 Javascript
three.js中文文档学习之创建场景
2017/11/20 Javascript
JavaScript事件发布/订阅模式原理与用法分析
2018/08/21 Javascript
JavaScript数据结构与算法之基本排序算法定义与效率比较【冒泡、选择、插入排序】
2019/02/21 Javascript
微信接入之获取用户头像的方法步骤
2019/09/23 Javascript
基于vue+uniapp直播项目实现uni-app仿抖音/陌陌直播室功能
2019/11/12 Javascript
微信小程序实现聊天室
2020/08/21 Javascript
[03:07]【DOTA2亚洲邀请赛】我们,梦开始的地方
2017/03/07 DOTA
python基础教程之元组操作使用详解
2014/03/25 Python
Python程序设计入门(4)模块和包
2014/06/16 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
2017/07/24 Python
关于python pyqt5安装失败问题的解决方法
2017/08/08 Python
python中字符串变二维数组的实例讲解
2018/04/03 Python
Python基于多线程实现ping扫描功能示例
2018/07/23 Python
解决Django中多条件查询的问题
2019/07/18 Python
python 实现方阵的对角线遍历示例
2019/11/29 Python
Python tkinter实现日期选择器
2021/02/22 Python
世界上最大的家庭自动化公司:Smarthome
2017/12/20 全球购物
英国自行车商店:AW Cycles
2021/02/24 全球购物
大学生实习感言
2014/01/16 职场文书
门面房租房协议书
2014/08/20 职场文书
安全员岗位职责范本
2015/04/11 职场文书
机关单位保密工作责任书
2015/05/11 职场文书
六种css3实现的边框过渡效果
2021/04/22 HTML / CSS