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 相关文章推荐
php设计模式 Observer(观察者模式)
Jun 26 PHP
php4与php5的区别小结(配置异同)
Dec 20 PHP
php如何调用webservice应用介绍
Nov 24 PHP
PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
Nov 18 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
Jan 07 PHP
将PHP从5.3.28升级到5.3.29时Nginx出现502错误
May 09 PHP
CodeIgniter基于Email类发邮件的方法
Mar 29 PHP
PHP url的pathinfo模式加载不同控制器的简单实现
Aug 12 PHP
PHP使用mysqli操作MySQL数据库的简单方法
Feb 04 PHP
PHP迭代与递归实现无限级分类
Aug 28 PHP
PHP抽象类与接口的区别详解
Mar 21 PHP
TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法分析
Dec 31 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+jQuery制作的列表分页的功能模块
2014/10/14 PHP
让IE8支持DOM 2(不用框架!)
2009/12/31 Javascript
jQuery+PHP打造滑动开关效果
2014/12/16 Javascript
JavaScript中用let语句声明作用域的用法讲解
2016/05/20 Javascript
关于List.ToArray()方法的效率测试
2016/09/30 Javascript
javaScript语法总结
2016/11/25 Javascript
Bootstrap select多选下拉框实现代码
2016/12/23 Javascript
Angular多选、全选、批量选择操作实例代码
2017/03/10 Javascript
Vue组件的使用教程详解
2018/01/05 Javascript
详解使用 Node.js 开发简单的脚手架工具
2018/06/08 Javascript
详解Vue的watch中的immediate与watch是什么意思
2019/12/30 Javascript
python爬虫常用的模块分析
2014/08/29 Python
python查找指定具有相同内容文件的方法
2015/06/28 Python
python开发之str.format()用法实例分析
2016/02/22 Python
详解MySQL数据类型int(M)中M的含义
2016/11/20 Python
python文本数据相似度的度量
2018/03/12 Python
Python 网络爬虫--关于简单的模拟登录实例讲解
2018/06/01 Python
详解python实现识别手写MNIST数字集的程序
2018/08/03 Python
Python 画出来六维图
2019/07/26 Python
利用python3 的pygame模块实现塔防游戏
2019/12/30 Python
中国酒类在线零售网站:酒仙网
2016/08/20 全球购物
Joules美国官网:出色的英国风格
2017/10/30 全球购物
斯德哥尔摩通票:Stockholm Pass
2018/01/09 全球购物
波兰办公用品和学校用品在线商店:Dlabiura24.pl
2020/11/18 全球购物
新东网科技Java笔试题
2012/07/13 面试题
JavaScript实现页面动态验证码的实现示例
2021/03/23 Javascript
模范家庭事迹材料
2014/02/10 职场文书
岗位聘任书范文
2014/03/29 职场文书
新品发布会主持词
2014/04/02 职场文书
员工三分钟演讲稿
2014/08/19 职场文书
会计工作检讨书
2015/02/19 职场文书
2015年党风廉政建设目标责任书
2015/05/08 职场文书
师德培训心得体会2016
2016/01/09 职场文书
JavaScript 防篡改对象的用法示例
2021/04/24 Javascript
css height属性中的calc方法详解
2021/06/03 HTML / CSS
使用qt quick-ListView仿微信好友列表和聊天列表的示例代码
2021/06/13 Python