Qrcode.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. /**
  3. * @copyright Copyright (c) 2017 https://www.sapixx.com All rights reserved.
  4. * @license Licensed (http://www.apache.org/licenses/LICENSE-2.0).
  5. * @author pillar<ltmn@qq.com>
  6. * 二维码生成服务
  7. */
  8. namespace app\common\facade\library;
  9. use BaconQrCode\Renderer\Image\Png;
  10. use BaconQrCode\Writer;
  11. use filter\Filter;
  12. class Qrcode{
  13. /**
  14. * 根据内容生成二维码
  15. * @return string
  16. */
  17. public function create($url,$qrname = 'qrcode'){
  18. $qrname = PATH_RES.'qrcode'.DS.Filter::filter_escape($qrname).'.png';
  19. $renderer = new Png();
  20. $renderer->setHeight(256);
  21. $renderer->setWidth(256);
  22. $renderer->setMargin(1);
  23. $writer = new Writer($renderer,'N');
  24. $writer->writeFile($url,$qrname);
  25. return '/'.str_replace('\\','/',substr($qrname,strlen(PATH_PUBLIC)));
  26. }
  27. /**
  28. * 直接把内容保存到服务器
  29. * @return string
  30. */
  31. public function saveQcode($str,$qrname = 'qrcode'){
  32. $qrname = PATH_RES.'qrcode'.DS.Filter::filter_escape($qrname).'.png';
  33. file_put_contents($qrname,$str);
  34. return '/'.str_replace('\\','/',substr($qrname,strlen(PATH_PUBLIC)));
  35. }
  36. }