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 服务器调试 Zend Debugger 的安装教程
Sep 25 PHP
PHP在引号前面添加反斜杠(PHP去除反斜杠)
Sep 28 PHP
php生成缩略图示例代码分享(使用gd库实现)
Jan 20 PHP
Win2003+apache+PHP+SqlServer2008 配置生产环境
Jul 29 PHP
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
Mar 18 PHP
分享3个php获取日历的函数
Sep 25 PHP
详解WordPress开发中的get_post与get_posts函数使用
Jan 04 PHP
Linux(CentOS)下PHP扩展PDO编译安装的方法
Apr 07 PHP
php 运算符与表达式详细介绍
Nov 30 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
May 23 PHP
Yii2.0建立公共方法简单示例
Jan 29 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
Apr 02 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 magic_quotes_gpc的使用方法详解
2013/06/24 PHP
PHP实现返回JSON和XML的类分享
2015/01/28 PHP
PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
2017/01/12 PHP
ThinkPHP框架结合Ajax实现用户名校验功能示例
2019/07/03 PHP
关于JavaScript中var声明变量作用域的推断
2010/12/16 Javascript
javascript删除数组元素并且数组长度减小的简单实例
2014/02/14 Javascript
jquery制作LED 时钟特效
2015/02/01 Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
2015/05/09 Javascript
BootStrap入门教程(二)之固定的内置样式
2016/09/19 Javascript
JavaScript数组和对象的复制
2017/03/21 Javascript
详解Node.js串行化流程控制
2017/05/04 Javascript
JavaScript使用math.js进行精确计算操作示例
2018/06/19 Javascript
JS实现仿微信支付弹窗功能
2018/06/25 Javascript
浅谈ElementUI中switch回调函数change的参数问题
2018/08/24 Javascript
小程序获取周围IBeacon设备的方法
2018/10/31 Javascript
使用Vue.js 和Chart.js制作绚丽多彩的图表
2019/06/15 Javascript
python 截取 取出一部分的字符串方法
2017/03/01 Python
浅谈python下tiff图像的读取和保存方法
2018/12/04 Python
python整小时 整天时间戳获取算法示例
2019/02/20 Python
python获取地震信息 微信实时推送
2019/06/18 Python
python3 批量获取对应端口服务的实例
2019/07/25 Python
Python matplotlib绘制图形实例(包括点,曲线,注释和箭头)
2020/04/17 Python
TensorFlow中如何确定张量的形状实例
2020/06/23 Python
Elasticsearch py客户端库安装及使用方法解析
2020/09/14 Python
Scrapy中如何向Spider传入参数的方法实现
2020/09/28 Python
比驿:全球酒店比价网
2018/06/20 全球购物
中软国际Java程序员机试题
2012/08/19 面试题
医学生求职自荐信
2013/10/25 职场文书
会计专业推荐信
2013/10/29 职场文书
网上卖盒饭创业计划书
2014/01/26 职场文书
趣味体育活动方案
2014/02/08 职场文书
策划总监岗位职责
2014/02/16 职场文书
个人综合鉴定材料
2014/05/23 职场文书
纪念九一八事变83周年国旗下讲话稿
2014/09/15 职场文书
Java实现二分搜索树的示例代码
2022/03/17 Java/Android
Redis实战高并发之扣减库存项目
2022/04/14 Redis