Home >Backend Development >PHP Tutorial >Generate barcode code in php_PHP tutorial
php generate barcode code To create a barcode, you must generate an image. To generate an image in PHP, we must use the gd library to achieve it, so you have to find your php.ini file and find extension=php_gd2.dll and remove the previous one; . You can use some examples.
php tutorial to generate barcode code
/*
To generate a barcode, you must generate a picture. To generate a picture in PHP, we must use the gd library to achieve it, so you have to find your php.ini file and find extension=php_gd2.dll and remove the previous;
. You can use some examples.
*/
class cd_barra
{
var $file;
var $into;
var $cd_barras = array(0=>"00110",1=>"10001",2=>"01001",3=>"11000",4=>"00101",
5=>"10100",6=>"01100",7=>"00011",8=>"10010",9=>"01010"
);
function cd_barra($value,$files,$into=1) {
$lower = 1 ; $hight = 55;
$this->into = $into;
for($count1=9;$count1>=0;$count1--){
for($count2=9;$count2>=0;$count2--){
$count = ($count1 * 10) + $count2 ;
$text = "" ;
for($i=1;$i<6;$i++){
$text .= substr($this->cd_barras[$count1],($i-1),1) . substr($this->cd_barras[$count2],($i-1),1);
}
$this->cd_barras[$count] = $text;
}
}
//$img = imagecreate($lower*95+300,$hight+30);
$img = imagecreate(145,55);
//$img = imagecreate(395,73);
$cl_black = imagecolorallocate($img, 0, 0, 0);
$cl_white = imagecolorallocate($img, 255, 255, 255);
imagefilledrectangle($img, 0, 0, $lower*95+1000, $hight+30, $cl_white);
imagefilledrectangle($img, 1,1,1,53,$cl_black);
imagefilledrectangle($img, 2,1,2,53,$cl_white);
imagefilledrectangle($img, 3,1,3,53,$cl_black);
imagefilledrectangle($img, 4,1,4,53,$cl_white);
$thin = 1 ;
if(substr_count(strtoupper($_server['server_software']),"win32")){
//o tamanho para windows tem que ser 3
// for windows, the wide bar has = 3
$wide = 3;
} else {
$wide = 2.72;
}
$pos = 5 ;
$text = $value ;
if((strlen($text) % 2) <> 0){
$text = "0" . $text;
}
while (strlen($text) > 0) {
$i = round($this->barra_left($text,2));
$text = $this->barra_right($text,strlen($text)-2);
$f = $this->cd_barras[$i];
for($i=1;$i<11;$i+=2){
if (substr($f,($i-1),1) == "0") {
$f1 = $thin ;
}else{
$f1 = $wide ;
}
imagefilledrectangle($img, $pos,1,$pos-1+$f1,53,$cl_black) ;
$pos = $pos + $f1 ;
if (substr($f,$i,1) == "0") {
$f2 = $thin ;
}else{
$f2 = $wide ;
}
imagefilledrectangle($img, $pos,1,$pos-1+$f2,53,$cl_white) ;
$pos = $pos + $f2 ;
}
}
imagefilledrectangle($img, $pos,1,$pos-1+$wide,53,$cl_black);
$pos=$pos+$wide;
imagefilledrectangle($img, $pos,1,$pos-1+$thin,53,$cl_white);
$pos=$pos+$thin;
imagefilledrectangle($img, $pos,1,$pos-1+$thin,53,$cl_black);
$pos=$pos+$thin;
$this->put_img($img,$files);
}
function barra_left($input,$comp){
return substr($input,0,$comp);
}
function barra_right($input,$comp){
return substr($input,strlen($input)-$comp,$comp);
}
function put_img($image,$file){
if($this->into){
imagegif($image,$file);
}
else {
header("content-type: image/gif");
imagegif($image);
}
imagedestroy($image);
}
}?>
//调用 方法
include("codes.php");
$new_code = new cd_barra("1234567890","a.gif",1);
?>