>  기사  >  백엔드 개발  >  PHP를 사용하여 QR 코드를 생성하는 것은 매우 실용적입니다.

PHP를 사용하여 QR 코드를 생성하는 것은 매우 실용적입니다.

高洛峰
高洛峰원래의
2016-10-17 11:13:001606검색

우리는 바코드와 QR코드를 자주 접하는데, 특히 스마트폰 시대에 이러한 코드가 더욱 활성화되었습니다. 오늘은 일반적으로 사용되는 QR코드 생성 방법에 대해 PHP를 사용하여 알려드리겠습니다. 방법은 Google Open API를 호출하여 생성하는 것입니다. 다시 비즈니스로 돌아가 코드로 직접 이동합니다.

<?php 
function UPCAbarcode($code) { 
  $lw = 2; $hi = 100; 
  $Lencode = array(&#39;0001101&#39;,&#39;0011001&#39;,&#39;0010011&#39;,&#39;0111101&#39;,&#39;0100011&#39;, 
                   &#39;0110001&#39;,&#39;0101111&#39;,&#39;0111011&#39;,&#39;0110111&#39;,&#39;0001011&#39;); 
  $Rencode = array(&#39;1110010&#39;,&#39;1100110&#39;,&#39;1101100&#39;,&#39;1000010&#39;,&#39;1011100&#39;, 
                   &#39;1001110&#39;,&#39;1010000&#39;,&#39;1000100&#39;,&#39;1001000&#39;,&#39;1110100&#39;); 
  $ends = &#39;101&#39;; $center = &#39;01010&#39;; 
  /* UPC-A Must be 11 digits, we compute the checksum. */ 
  if ( strlen($code) != 11 ) { die("UPC-A Must be 11 digits."); } 
  /* Compute the EAN-13 Checksum digit */ 
  $ncode = &#39;0&#39;.$code; 
  $even = 0; $odd = 0; 
  for ($x=0;$x<12;$x++) { 
    if ($x % 2) { $odd += $ncode[$x]; } else { $even += $ncode[$x]; } 
  } 
  $code.=(10 - (($odd * 3 + $even) % 10)) % 10; 
  /* Create the bar encoding using a binary string */ 
  $bars=$ends; 
  $bars.=$Lencode[$code[0]]; 
  for($x=1;$x<6;$x++) { 
    $bars.=$Lencode[$code[$x]]; 
  } 
  $bars.=$center; 
  for($x=6;$x<12;$x++) { 
    $bars.=$Rencode[$code[$x]]; 
  } 
  $bars.=$ends; 
  /* Generate the Barcode Image */ 
  $img = ImageCreate($lw*95+30,$hi+30); 
  $fg = ImageColorAllocate($img, 0, 0, 0); 
  $bg = ImageColorAllocate($img, 255, 255, 255); 
  ImageFilledRectangle($img, 0, 0, $lw*95+30, $hi+30, $bg); 
  $shift=10; 
  for ($x=0;$x<strlen($bars);$x++) { 
    if (($x<10) || ($x>=45 && $x<50) || ($x >=85)) { $sh=10; } else { $sh=0; } 
    if ($bars[$x] == &#39;1&#39;) { $color = $fg; } else { $color = $bg; } 
    ImageFilledRectangle($img, ($x*$lw)+15,5,($x+1)*$lw+14,$hi+5+$sh,$color); 
  } 
  /* Add the Human Readable Label */ 
  ImageString($img,4,5,$hi-5,$code[0],$fg); 
  for ($x=0;$x<5;$x++) { 
    ImageString($img,5,$lw*(13+$x*6)+15,$hi+5,$code[$x+1],$fg); 
    ImageString($img,5,$lw*(53+$x*6)+15,$hi+5,$code[$x+6],$fg); 
  } 
  ImageString($img,4,$lw*95+17,$hi-5,$code[11],$fg); 
  /* Output the Header and Content. */ 
  header("Content-Type: image/png"); 
  ImagePNG($img); 
} 
?>


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.