一,在php中我们可以使用php-barcode-generator插件来生成条形码,php-barcode-generator插件github地址:https://github.com/picqer/php-barcode-generator
composer require picqer/php-barcode-generator
二,使用很简单,需要先引入文件
//引入
use Picqer\Barcode\BarcodeGeneratorPNG;
require_once('vendor/autoload.php');
//使用
public function Barcode($code = '', $type = BarcodeGeneratorPNG::TYPE_CODE_128)
{
header('Content-Type: image/png');
if(empty($code)){
$result['msg'] = '条形码数据不能为空';
}
//保存位置:相对路径
$relative_path = 'public/barcode/' . date('Ymd') . '/';
//保存位置:绝对路径
$absolute_path = ROOT_PATH . $relative_path;
if(!is_dir($absolute_path)){
$res = @mkdir($absolute_path,0777,true);
if(!$res){
$result = '创建目录失败:'. $code;
}
}
//条形码文件
// public/barcode/20230407/c.png"
$relative_url = $relative_path . $code . '.png';
// D:/phpEnv/www/storeManager/public/barcode/20230407/c.png
$absolute_url = $absolute_path . $code . '.png';
if(file_exists($absolute_url)){
$result['msg'] = '之前已经生成过:'. $code;
$result['url'] = $relative_url;
return $result;
}
//生成图片数据
$generator = new BarcodeGeneratorPNG; //PNG格式的图片
$data = $generator->getBarcode(
$code, //条形码数据
$type, //条形码的类型,使用在类中定义的常量
3, //条形码的宽度
50, //条形码高度
[0, 0, 0] //条形码的颜色
);
//保存进png文件
if(file_put_contents($absolute_path . $code . '.png', $data)){
$result['url'] = $relative_url;
return $result;
}else {
$result['msg'] = '保存文件失败:'. $code;
return $result;
}