Heim > Backend-Entwicklung > PHP-Tutorial > Die Verwendung von PHP zum Generieren von QR-Codes ist sehr praktisch

Die Verwendung von PHP zum Generieren von QR-Codes ist sehr praktisch

高洛峰
Freigeben: 2016-10-17 11:13:00
Original
1621 Leute haben es durchsucht

Wir sehen oft Barcodes und QR-Codes, insbesondere im Zeitalter von Smartphones. Heute werde ich Ihnen zeigen, wie man mit PHP Barcodes generiert, die häufig verwendet werden Die Methode besteht darin, die Google Open API zum Generieren aufzurufen. Kommen wir zurück zum Geschäft und gehen direkt zum Code:

<?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); 
} 
?>
Nach dem Login kopieren


Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage