
Podgląd pliku: / jacekk.info / code11.phps
<?php /*************************************************** * Kody kreskowe - Code 11 * *************************************************** * Wersja: 1.1 * * Autor: Jacek Kowalski (http://jacekk.info) * * * * Strona WWW: http://jacekk.info/scripts/barcodes * * * * Utwór rozprowadzany na licencji * * http://creativecommons.org/licenses/by-nc/2.5/ * ***************************************************/ /* Kodowanie znaków UTF-8 */ if(trim($_GET['kod'], '0123456789-')!='') { echo 'Znaki inne niż cyfry i pauza'; die(); } function checksum($kod) { $chk = str_split(strrev($kod)); foreach($chk as $key => $val) { if($val=='-') { $val = 10; } $check += (1+$key)*$val; } $check = $check%11; if($check==10) { $check = '-'; } return $kod.$check; } $_GET['kod'] = checksum($_GET['kod']); if(strlen($_GET['kod'])>10) { $_GET['kod'] = checksum($_GET['kod']); } $code = array( 'SS' => '1011001', 'BT' => '0', '0' => '1010111', '1' => '1101011', '2' => '1001011', '3' => '1100101', '4' => '1011011', '5' => '1101101', '6' => '1001101', '7' => '1010011', '8' => '1101001', '9' => '1110101', '-' => '1011101' ); function gen_binary($kod) { global $code; $kod = str_split($kod); $ret = ''; foreach($kod as $key => $val) { $ret .= $code[$val].$code['BT']; } return $ret; } function print_code($kod, $img) { global $b; $now = 0; $kod = str_split($kod); foreach($kod as $val) { if($val==1) { imageline($img, $now, 0, $now, 40, $b); } $now++; } } $_GET['kod'] = $code['SS'].$code['BT'].gen_binary($_GET['kod']).$code['SS']; $i = imagecreate(strlen($_GET['kod']), 40); $w = imagecolorallocate($i, 255, 255, 255); $b = imagecolorallocate($i, 0, 0, 0); print_code($_GET['kod'], $i); header('Content-type: image/gif'); imagegif($i); ?>
Browse Code © 2010 by Jacek Kowalski