当前位置:首页 > PHP教程 > php应用 > 列表

php二维码生成以及下载实现

发布:smiling 来源: PHP粉丝网  添加日期:2021-08-09 14:20:27 浏览: 评论:0 

这篇文章主要介绍了php二维码生产以及下载实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

本文实例为大家分享了php二维码生成以及下载的具体代码,供大家参考,具体内容如下

  1. <?php 
  2.    
  3. //引入phpqrcode库文件 
  4. define('IN_ECS', true); 
  5.    
  6. require(dirname(__FILE__) . '/includes/init.php'); 
  7. include('includes/phpqrcode.php'); 
  8.    
  9. // 二维码数据 
  10. $data = 'http://www.baidu.com'; 
  11. $filename = 'shopEwm/'.'baidu.png'; 
  12.    
  13. //down_file('baidu.png',BASE_PATH); 
  14. setShopEwm($data,$filename); 
  15.    
  16. //生成二维码图片 
  17. function setShopEwm($data,$filename){ 
  18. // 纠错级别:L、M、Q、H 
  19.    
  20.   $errorCorrectionLevel = 'L'; 
  21.   // 点的大小:1到10 
  22.   $matrixPointSize = 4; 
  23.   //创建一个二维码文件 
  24.   QRcode::png($data, $filename, $errorCorrectionLevel, $matrixPointSize, 2); 
  25.   //输入二维码到浏览器 
  26.   //QRcode::png($data); 
  27. } 
  28. //下载二维码图片 
  29. function down_file($file_name){ 
  30.   $file_sub_dir = str_replace('\\','/',realpath(dirname(__FILE__).'/'))."/shopEwm/"; 
  31.   //原因 php文件函数,比较古老,需要对中文转码 gb2312 
  32.   $file_name=iconv("utf-8","gb2312",$file_name); 
  33.    
  34.   //绝对路径 
  35.   $file_path=$file_sub_dir.$file_name; 
  36.   //1.打开文件 
  37.   if(!file_exists($file_path)){ 
  38.     echo "文件不存在!"; 
  39.     return ; 
  40.   } 
  41.    
  42.   $fp=fopen($file_path,"r"); 
  43.   //2.处理文件 
  44.   //获取下载文件的大小 
  45.   $file_size=filesize($file_path); 
  46.    
  47.   /* if($file_size>30){ 
  48.    
  49.   echo "<script language='javascript'>window.alert('过大')</script>"; 
  50.   return ; 
  51.   } */ 
  52.    
  53.   //返回的文件 
  54.   header("Content-type: application/octet-stream"); 
  55.   //按照字节大小返回 
  56.   header("Accept-Ranges: bytes"); 
  57.   //返回文件大小 
  58.   header("Accept-Length: $file_size"); 
  59.   //这里客户端的弹出对话框,对应的文件名 
  60.   header("Content-Disposition: attachment; filename=".$file_name); 
  61.    
  62.   //向客户端回送数据 
  63.    
  64.   $buffer=1024; 
  65.   //为了下载的安全,我们最好做一个文件字节读取计数器 
  66.   $file_count=0; 
  67.   //这句话用于判断文件是否结束 
  68.   while(!feof($fp) && ($file_size-$file_count>0) ){ 
  69.     $file_data=fread($fp,$buffer); 
  70.     //统计读了多少个字节 
  71.     $file_count+=$buffer; 
  72.     //把部分数据回送给浏览器; 
  73.     echo $file_data; 
  74.   } 
  75.    
  76.   //关闭文件 
  77.   fclose($fp); 
  78.    
  79. }

Tags: php二维码生成

分享到:

相关文章