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小型企业库存管理系统的设计与实现代码
May 16 PHP
PHP中的cookie不用刷新就生效的方法
Feb 04 PHP
深入探讨:Nginx 502 Bad Gateway错误的解决方法
Jun 03 PHP
php制作中间带自己定义图片二维码的方法
Jan 27 PHP
9段PHP实用功能的代码推荐
Oct 14 PHP
php获取用户浏览器版本的方法
Jan 03 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
Sep 09 PHP
php类的自动加载操作实例详解
Sep 28 PHP
POST一个JSON格式的数据给Restful服务实例详解
Apr 07 PHP
弹出模态框modal的实现方法及实例
Sep 19 PHP
PHP字符串中抽取子串操作实例分析
Jun 22 PHP
Laravel 修改默认日志文件名称和位置的例子
Oct 17 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写的简易聊天室代码
2011/06/04 PHP
解析php二分法查找数组是否包含某一元素
2013/05/23 PHP
php实现批量删除挂马文件及批量替换页面内容完整实例
2016/07/08 PHP
Javascript开发之三数组对象实例介绍
2012/11/12 Javascript
javascript学习(一)构建自己的JS库
2013/01/02 Javascript
ztree获取当前选中节点子节点id集合的方法
2015/02/12 Javascript
使用javaScript动态加载Js文件和Css文件
2015/10/24 Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
2016/09/21 Javascript
Javascript 动态改变imput type属性
2016/11/01 Javascript
Bootstrap禁用响应式布局的实现方法
2017/03/09 Javascript
详解微信小程序 相对定位和绝对定位
2017/05/11 Javascript
利用JS对iframe父子(内外)页面进行操作的方法教程
2017/06/15 Javascript
详解Vue微信公众号开发踩坑全记录
2017/08/21 Javascript
ajax前台后台跨域请求处理方式
2018/02/08 Javascript
vue2.0实现前端星星评分功能组件实例代码
2018/02/12 Javascript
微信小程序自定义多选事件的实现代码
2018/05/17 Javascript
js调用设备摄像头的方法
2018/07/19 Javascript
实现一个Vue自定义指令懒加载的方法示例
2020/06/04 Javascript
JS出现404错误原理及解决方案
2020/07/01 Javascript
Vue为什么要谨慎使用$attrs与$listeners
2020/08/27 Javascript
Python ORM框架SQLAlchemy学习笔记之数据查询实例
2014/06/10 Python
安装Python的教程-Windows
2017/07/22 Python
python实现顺序表的简单代码
2018/09/28 Python
python PIL/cv2/base64相互转换实例
2020/01/09 Python
Python代码注释规范代码实例解析
2020/08/14 Python
Html5原创俄罗斯方块(基于canvas)
2019/01/07 HTML / CSS
后勤园长自我鉴定
2013/10/17 职场文书
医院义诊活动总结
2014/07/04 职场文书
“向国旗敬礼”主题班会活动设计方案
2014/09/27 职场文书
2014年女职工工作总结
2014/11/27 职场文书
2014年幼儿园园长工作总结
2014/12/17 职场文书
装配车间主任岗位职责
2015/04/08 职场文书
老乡聚会通知
2015/04/23 职场文书
靠谱的活动总结
2019/04/16 职场文书
Python+Appium自动化测试的实战
2021/06/30 Python
Redis如何实现验证码发送 以及限制每日发送次数
2022/04/18 Redis