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 相关文章推荐
信用卡效验程序
Oct 09 PHP
PHP小技巧之JS和CSS优化工具Minify的使用方法
May 19 PHP
PHP字符串word末字符实现大小写互换的方法
Nov 10 PHP
PHP计算指定日期所在周的开始和结束日期的方法
Mar 24 PHP
PHP中使用register_shutdown_function函数截获fatal error示例
Apr 21 PHP
PHP安装memcached扩展笔记
May 28 PHP
ThinkPHP函数详解之M方法和R方法
Sep 10 PHP
用php代码限制国内IP访问我们网站
Sep 26 PHP
非常经典的PHP文件上传类分享
May 15 PHP
php array_merge_recursive 数组合并
Oct 26 PHP
php中遍历二维数组并以表格的形式输出的方法
Jan 03 PHP
thinkPHP通用控制器实现方法示例
Nov 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版(4)
2006/10/09 PHP
PHP操作文件方法问答
2007/03/16 PHP
PHP 模拟$_PUT实现代码
2010/03/15 PHP
mysql数据库差异比较的PHP代码
2012/02/05 PHP
php中strlen和mb_strlen用法实例分析
2016/11/12 PHP
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
2009/06/04 Javascript
JavaScript面向对象之静态与非静态类
2010/02/03 Javascript
javascript中怎么做对象的类型判断
2013/11/11 Javascript
jQuery中offsetParent()方法用法实例
2015/01/19 Javascript
基于jquery实现省市联动特效
2015/12/17 Javascript
Jquery zTree 树控件异步加载操作
2016/02/25 Javascript
Bootstrap每天必学之轮播(Carousel)插件
2016/04/25 Javascript
JavaScript使用链式方法封装jQuery中CSS()方法示例
2017/04/07 jQuery
JavaScript实现页面中录音功能的方法
2019/06/04 Javascript
layui表格数据复选框回显设置方法
2019/09/13 Javascript
浅谈Vue 函数式组件的使用技巧
2020/06/16 Javascript
python获取本机外网ip的方法
2015/04/15 Python
python使用multiprocessing模块实现带回调函数的异步调用方法
2015/04/18 Python
Python中用psycopg2模块操作PostgreSQL方法
2017/11/28 Python
python实现对列表中的元素进行倒序打印
2019/11/23 Python
基于python的docx模块处理word和WPS的docx格式文件方式
2020/02/13 Python
Pycharm 使用 Pipenv 新建的虚拟环境(图文详解)
2020/04/16 Python
Django分组聚合查询实例分享
2020/04/29 Python
Node.js 和 Python之间该选择哪个?
2020/08/05 Python
实例讲解CSS3中Transform的perspective属性的用法
2016/04/22 HTML / CSS
利用html5 file api读取本地文件示例(如图片、PDF等)
2018/03/07 HTML / CSS
维珍澳洲航空官网:Virgin Australia
2017/09/08 全球购物
大学生军训感想
2014/02/16 职场文书
遗嘱继承公证书
2014/04/09 职场文书
《槐乡五月》教学反思
2014/04/25 职场文书
校长师德师风自我剖析材料
2014/09/29 职场文书
单位工作证明书格式
2014/10/04 职场文书
县级领导干部开展党的群众路线教育实践活动工作汇报
2014/10/25 职场文书
大学生奖学金获奖感言(范文)
2019/08/15 职场文书
SpringBoot 拦截器妙用你真的了解吗
2021/07/01 Java/Android
MySQL 主从复制数据不一致的解决方法
2022/03/18 MySQL