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 相关文章推荐
使用sockets:从新闻组中获取文章(二)
Oct 09 PHP
操作Oracle的php类
Oct 09 PHP
php的list()的一步操作给一组变量进行赋值的使用
May 18 PHP
抓取并下载CSS中所有图片文件的php代码
Sep 26 PHP
php 解决旧系统 查出所有数据分页的类
Aug 27 PHP
php 使用file_get_contents读取大文件的方法
Nov 13 PHP
php生成动态验证码gif图片
Oct 19 PHP
从性能方面考虑PHP下载远程文件的3种方法
Dec 29 PHP
PHP页面跳转操作实例分析(header方法)
Sep 28 PHP
php监测数据是否成功插入到Mysql数据库的方法
Nov 25 PHP
PHP的cookie与session原理及用法详解
Sep 27 PHP
one.php 多项目、函数库、类库 统一为一个版本的方法
Aug 24 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
别人整理的服务器变量:$_SERVER
2006/10/20 PHP
iis下php mail函数的sendmail配置方法(官方推荐)
2012/04/25 PHP
ThinkPHP3.1的Widget新用法
2014/06/19 PHP
PHP ignore_user_abort函数详细介绍和使用实例
2014/07/15 PHP
Prototype最新版(1.5 rc2)使用指南(1)
2007/01/10 Javascript
javascript入门·动态的时钟,显示完整的一些方法,新年倒计时
2007/10/01 Javascript
jQuery 全选效果实现代码
2009/03/23 Javascript
JavaScript学习笔记之获取当前目录的实现代码
2010/12/14 Javascript
js中如何复制一个对象并获取其所有属性和属性对应的值
2013/10/24 Javascript
JS中把字符转成ASCII值的函数示例代码
2013/11/21 Javascript
JS获取计算机mac地址以及IP的实现方法
2014/01/08 Javascript
JS中怎样判断undefined(比较不错的方法)
2014/03/27 Javascript
Javascript中this的用法详解
2014/09/22 Javascript
仿Angular Bootstrap TimePicker创建分钟数-秒数的输入控件
2016/07/01 Javascript
JS实现的文件拖拽上传功能示例
2018/05/21 Javascript
利用jqgrid实现上移下移单元格功能
2018/11/07 Javascript
echarts大屏字体自适应的方法步骤
2019/07/12 Javascript
layui动态渲染生成左侧3级菜单的方法(根据后台返回数据)
2019/09/23 Javascript
vue addRoutes路由动态加载操作
2020/08/04 Javascript
JavaScript实现拖动对话框效果的实现代码
2020/10/12 Javascript
Antd下拉选择,自动匹配功能的实现
2020/10/24 Javascript
[00:20]DOTA2荣耀之路7:-ah fu-抢盾
2018/05/31 DOTA
python的tkinter布局之简单的聊天窗口实现方法
2014/09/03 Python
Python中super关键字用法实例分析
2015/05/28 Python
python验证码识别的实例详解
2016/09/09 Python
python pip源配置,pip配置文件存放位置的方法
2019/07/12 Python
详解python中*号的用法
2019/10/21 Python
Python装饰器实现方法及应用场景详解
2020/03/26 Python
python实现批量命名照片
2020/06/18 Python
python实现excel公式格式化的示例代码
2020/12/23 Python
css3实例教程 一款纯css3实现的发光屏幕旋转特效
2014/12/07 HTML / CSS
人事行政经理岗位职责
2014/06/18 职场文书
机关驾驶员违规检讨书
2014/09/13 职场文书
2014年四风问题个人对照自查剖析材料
2014/09/15 职场文书
2014年业务工作总结
2014/11/17 职场文书
优秀党支部申报材料
2014/12/24 职场文书