当前位置:首页 > 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. function down_file($file_name){ 
  29.   $file_sub_dir = str_replace('\\','/',realpath(dirname(__FILE__).'/'))."/shopEwm/"
  30.   //原因 php文件函数,比较古老,需要对中文转码 gb2312 
  31.   $file_name=iconv("utf-8","gb2312",$file_name); 
  32.    
  33.   //绝对路径 
  34.   $file_path=$file_sub_dir.$file_name
  35.   //1.打开文件 
  36.   if(!file_exists($file_path)){ 
  37.     echo "文件不存在!"
  38.     return ; 
  39.   } 
  40.    
  41.   $fp=fopen($file_path,"r"); 
  42.   //2.处理文件 
  43.   //获取下载文件的大小 
  44.   $file_size=filesize($file_path); 
  45.    
  46.   /* if($file_size>30){ 
  47.    
  48.   echo "<script language='javascript'>window.alert('过大')</script>"; 
  49.   return ; 
  50.   } */ 
  51.    
  52.   //返回的文件 
  53.   header("Content-type: application/octet-stream"); 
  54.   //按照字节大小返回 
  55.   header("Accept-Ranges: bytes"); 
  56.   //返回文件大小 
  57.   header("Accept-Length: $file_size"); 
  58.   //这里客户端的弹出对话框,对应的文件名 
  59.   header("Content-Disposition: attachment; filename=".$file_name); 
  60.    
  61.   //向客户端回送数据 
  62.    
  63.   $buffer=1024; 
  64.   //为了下载的安全,我们最好做一个文件字节读取计数器 
  65.   $file_count=0; 
  66.   //这句话用于判断文件是否结束 
  67.   while(!feof($fp) && ($file_size-$file_count>0) ){ 
  68.     $file_data=fread($fp,$buffer); 
  69.     //统计读了多少个字节 
  70.     $file_count+=$buffer
  71.     //把部分数据回送给浏览器; 
  72.     echo $file_data
  73.   } 
  74.    
  75.   //关闭文件 
  76.   fclose($fp); 
  77.    
  78. }

Tags: php二维码生成

分享到:

相关文章