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实现采集程序原理和简单示例代码
Mar 18 PHP
《PHP编程最快明白》第八讲:php启发和小结
Nov 01 PHP
使用php+Ajax实现唯一校验实现代码[简单应用]
Nov 29 PHP
php数组去重的函数代码
Feb 03 PHP
浅谈PHP与C#的值类型指向区别的详解
May 21 PHP
PHP时间和日期函数详解
May 08 PHP
fckeditor上传文件按日期存放及重命名方法
May 22 PHP
如何使用PHP对网站验证码进行破解
Sep 17 PHP
php将print_r处理后的数据还原为原始数组的解决方法
Nov 02 PHP
PHP如何读取由JavaScript设置的Cookie
Mar 22 PHP
PHP文件系统管理(实例讲解)
Sep 19 PHP
php实现QQ小程序发送模板消息功能
Sep 18 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的header和asp中的redirect比较
2006/10/09 PHP
php 从一个数组中随机的取出若干个不同的数实例
2016/12/31 PHP
Yii2实现多域名跨域同步登录退出
2017/02/04 PHP
深入解析PHP底层机制及相关原理
2020/12/11 PHP
javascript 函数使用说明
2010/04/07 Javascript
js验证IP及子网掩码的合法性有效性示例
2014/04/30 Javascript
仿JQuery输写高效JSLite代码的一些技巧
2015/01/13 Javascript
基于jquery实现页面滚动到底自动加载数据的功能
2015/12/19 Javascript
Bootstrap表单组件教程详解
2016/04/26 Javascript
JQuery核心函数是什么及使用方法介绍
2016/05/03 Javascript
JavaScript6 let 新语法优势介绍
2016/07/15 Javascript
JavaScript常见的五种数组去重的方式
2016/12/15 Javascript
jquery广告无缝轮播实例
2017/01/05 Javascript
Vuejs仿网易云音乐实现听歌及搜索功能
2017/03/30 Javascript
客户端(vue框架)与服务器(koa框架)通信及服务器跨域配置详解
2017/08/26 Javascript
angular6.0使用教程之父组件通过url传递id给子组件的方法
2018/06/30 Javascript
使用svg实现动态时钟效果
2018/07/17 Javascript
Vue使用zTree插件封装树组件操作示例
2019/04/25 Javascript
详解简单易懂的 ES6 Iterators 指南和示例
2019/09/24 Javascript
JS函数本身的作用域实例分析
2020/03/16 Javascript
python获取文件版本信息、公司名和产品名的方法
2014/10/05 Python
详解python中requirements.txt的一切
2017/03/03 Python
浅谈对yield的初步理解
2017/05/29 Python
pyQt5实时刷新界面的示例
2019/06/25 Python
将python运行结果保存至本地文件中的示例讲解
2019/07/11 Python
Python错误的处理方法
2020/06/23 Python
TensorFlow2.0使用keras训练模型的实现
2021/02/20 Python
CSS3中各种颜色属性的使用教程
2016/05/17 HTML / CSS
Theo + George官方网站:都柏林时尚品牌
2019/04/08 全球购物
vue实现倒计时功能
2021/03/24 Vue.js
蜜蜂引路教学反思
2014/02/04 职场文书
迎元旦广播稿
2014/02/22 职场文书
法院授权委托书范文
2014/08/02 职场文书
学校联谊协议书
2014/09/16 职场文书
医院领导班子四风问题对照检查材料
2014/10/26 职场文书
一文搞懂PHP中的抽象类和接口
2022/05/25 PHP