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 水平的题目
May 30 PHP
PHP在不同页面间传递Json数据示例代码
Jun 08 PHP
如何阻止网站被恶意反向代理访问(防网站镜像)
Mar 18 PHP
php数组键名技巧小结
Feb 17 PHP
php将数组存储为文本文件方法汇总
Oct 28 PHP
详解HTTP Cookie状态管理机制
Jan 14 PHP
关于PHP文件的自动运行方法分析
May 13 PHP
简单的自定义php模板引擎
Aug 26 PHP
PHP实现的简单AES加密解密算法实例
May 29 PHP
PHP调用微博接口实现微博登录的方法示例
Sep 22 PHP
PHP+mysql实现的三级联动菜单功能示例
Feb 15 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
收音机另类DIY - 纸巾盒做外壳
2021/03/02 无线电
php 输出双引号&quot;与单引号'的方法
2010/05/09 PHP
php实现XSS安全过滤的方法
2015/07/29 PHP
YiiFramework入门知识点总结(图文教程)
2015/12/28 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
jQuery EasyUI API 中文文档 - Menu菜单
2011/10/03 Javascript
Javascript基础教程之数据类型转换
2015/01/18 Javascript
自定义jQuery插件方式实现强制对象重绘的方法
2015/03/23 Javascript
浅谈javascript的分号的使用
2015/05/12 Javascript
JavaScript类型系统之正则表达式
2016/01/05 Javascript
JS原型链 详解及示例代码
2016/09/06 Javascript
基于jQuery实现Accordion手风琴自定义插件
2020/10/13 Javascript
JS实现超简单的汉字转拼音功能示例
2016/12/22 Javascript
vue.js学习之UI组件开发教程
2017/07/03 Javascript
jQuery实现QQ空间汉字转拼音功能示例
2017/07/10 jQuery
JavaScript运行原理分析
2018/02/09 Javascript
微信小程序工具函数封装
2019/10/28 Javascript
swiper实现异形轮播效果
2019/11/28 Javascript
5个你不知道的JavaScript字符串处理库(小结)
2020/06/01 Javascript
react项目从新建到部署的实现示例
2021/02/19 Javascript
总结Python编程中三条常用的技巧
2015/05/11 Python
Python合并两个字典的常用方法与效率比较
2015/06/17 Python
Python2随机数列生成器简单实例
2017/09/04 Python
Python3和pyqt5实现控件数据动态显示方式
2019/12/13 Python
全网首秀之Pycharm十大实用技巧(推荐)
2020/04/27 Python
详解Python yaml模块
2020/09/23 Python
HTML5的表单(绝对特别强大的功能)使用示例
2013/06/20 HTML / CSS
世界上第一个水枕头:Mediflow
2018/12/06 全球购物
.NET面试题:什么是值类型和引用类型
2016/01/12 面试题
函授本科自我鉴定
2014/02/04 职场文书
《去年的树》教学反思
2014/04/11 职场文书
优秀驾驶员先进事迹材料
2014/05/04 职场文书
2014年重阳节老干部座谈会上的讲话稿
2014/09/25 职场文书
毕业实习自我鉴定范文2014
2014/09/26 职场文书
Java中的继承、多态以及封装
2022/04/11 Java/Android
Vue组件化(ref,props, mixin,.插件)详解
2022/05/15 Vue.js