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 相关文章推荐
Cannot modify header information错误解决方法
Oct 08 PHP
PHP 组件化编程技巧
Jun 06 PHP
PHP用mysql数据库存储session的代码
Mar 05 PHP
php创建session的方法实例详解
Jan 27 PHP
使用php转义输出HTML到JavaScript
Mar 27 PHP
PHP二维数组去重实例分析
Nov 18 PHP
thinkPHP模板中函数的使用方法示例
Nov 30 PHP
Laravel中encrypt和decrypt的实现方法
Sep 24 PHP
thinkPHP中钩子的使用方法实例分析
Nov 16 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
Jul 17 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
Apr 16 PHP
PHP学习记录之常用的魔术常量详解
Dec 12 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循环获取GET和POST值的代码
2008/04/09 PHP
PHP框架Swoole定时器Timer特性分析
2014/08/19 PHP
PHP开发框架Laravel数据库操作方法总结
2014/09/03 PHP
php自动提交表单的方法(基于fsockopen与curl)
2016/05/09 PHP
Js+Flash实现访问剪切板操作
2012/11/20 Javascript
JQuery中对Select的option项的添加、删除、取值
2013/08/25 Javascript
javascript Array.prototype.slice的使用示例
2013/11/14 Javascript
对table和ul实现js分页示例分享
2014/02/24 Javascript
JS自动倒计时30秒后按钮才可用(两种场景)
2015/08/31 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
2016/01/29 Javascript
Vue组件之Tooltip的示例代码
2017/10/18 Javascript
vue项目中公用footer组件底部位置的适配问题
2018/05/10 Javascript
Angular5集成eventbus的示例代码
2018/07/19 Javascript
Vue与Node.js通过socket.io通信的示例代码
2018/07/25 Javascript
JavaScript实现邮箱后缀提示功能的示例代码
2018/12/13 Javascript
微信小程序全局变量功能与用法详解
2019/01/22 Javascript
基于Node.js搭建hexo博客过程详解
2019/06/25 Javascript
layui 地区三级联动 form select 渲染的实例
2019/09/27 Javascript
python使用PIL模块实现给图片打水印的方法
2015/05/22 Python
Python中super()函数简介及用法分享
2016/07/11 Python
Python2.7读取PDF文件的方法示例
2017/07/13 Python
sublime python3 输入换行不结束的方法
2018/04/19 Python
python通过ffmgep从视频中抽帧的方法
2018/12/05 Python
python制作抖音代码舞
2019/04/07 Python
Python3操作MongoDB增册改查等方法详解
2020/02/10 Python
Pyspark读取parquet数据过程解析
2020/03/27 Python
什么是python类属性
2020/06/10 Python
opencv 形态学变换(开运算,闭运算,梯度运算)
2020/07/07 Python
Python 实现将某一列设置为str类型
2020/07/14 Python
python中return不返回值的问题解析
2020/07/22 Python
HTML5中的autofocus(自动聚焦)属性介绍
2014/04/23 HTML / CSS
美国婚戒购物网站:Anjays Designs
2017/06/28 全球购物
德国最大的服装、鞋子和配件在线商店之一:Outfits24
2019/07/23 全球购物
美国在线家具网站:GDFStudio
2021/03/13 全球购物
《我不是最弱小的》教学反思
2014/02/23 职场文书
小程序实现文字循环滚动动画
2021/06/14 Javascript