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 相关文章推荐
从零开始 教你如何搭建Discuz!4.1论坛
Jul 07 PHP
php 多关键字 高亮显示实现代码
Apr 23 PHP
php文件操作实例代码
May 10 PHP
PHP中计算字符串相似度的函数代码
Dec 29 PHP
浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法
Jun 18 PHP
解析PHP中常见的mongodb查询操作
Jun 20 PHP
浅谈discuz密码加密的方式
May 22 PHP
php中出现空白页的原因及解决方法汇总
Jul 08 PHP
PHP获取youku视频真实flv文件地址的方法
Dec 23 PHP
php实现Mysql简易操作类
Oct 11 PHP
yii2简单使用less代替css示例
Mar 10 PHP
PHP实现数组转JSon和JSon转数组的方法示例
Jun 14 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
escape unescape的php下的实现方法
2007/04/27 PHP
PHP遍历文件夹与文件类及处理类用法实例
2014/09/23 PHP
在Windows XP下安装Apache+MySQL+PHP环境
2015/02/22 PHP
php执行多个存储过程的方法【基于thinkPHP】
2016/11/08 PHP
基于laravel-admin 后台 列表标签背景的使用方法
2019/10/03 PHP
基于PHP实现用户在线状态检测
2020/11/10 PHP
JS 进度条效果实现代码整理
2011/05/21 Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
2013/09/27 Javascript
JS判断不能为空实例代码
2013/11/26 Javascript
JS实现的通用表单验证插件完整实例
2015/08/20 Javascript
基于jQuery实现的扇形定时器附源码下载
2015/10/20 Javascript
微信扫码支付零云插件版实例详解
2017/04/26 Javascript
javascript 开发之百度地图使用到的js函数整理
2017/05/19 Javascript
Angular7创建项目、组件、服务以及服务的使用
2019/02/19 Javascript
vue路由插件之vue-route
2019/06/13 Javascript
vue中使用WX-JSSDK的两种方法(推荐)
2020/01/18 Javascript
uni-app实现获取验证码倒计时功能
2020/11/01 Javascript
jQuery是用来干什么的 jquery其实就是一个js框架
2021/02/04 jQuery
[03:55]2014DOTA2国际邀请赛 Fnatic经理采访赢DK在情理之中
2014/07/10 DOTA
通过PYTHON来实现图像分割详解
2019/06/26 Python
Python使用pymysql模块操作mysql增删改查实例分析
2019/12/19 Python
python里的单引号和双引号的有什么作用
2020/06/17 Python
Django-simple-captcha验证码包使用方法详解
2020/11/28 Python
玉兰油美国官网:OLAY美国
2018/10/25 全球购物
介绍一下你对SOA的认识
2016/04/24 面试题
vue+django实现下载文件的示例
2021/03/24 Vue.js
网站开发实习生的自我评价
2013/12/11 职场文书
高中军训第一天感言
2014/03/06 职场文书
党的群众路线教育实践活动先进个人材料
2014/12/24 职场文书
三年级学生期末评语
2014/12/26 职场文书
幼儿园个人师德总结
2015/02/06 职场文书
老人院义工活动感想
2015/08/07 职场文书
小程序教您怎样你零成本推广获取数万用户的方法
2019/07/30 职场文书
nginx优化的六点方法
2021/03/31 Servers
MySQL infobright的安装步骤
2021/04/07 MySQL
Python first-order-model实现让照片动起来
2022/06/25 Python