我用库生成条形码。生成条形码,但问题是如何保存生成的图像?
我在这里给出了我用过的代码:
在控制器中:
function add($bar_code)
{
$postData['bar_code'] = $this->set_barcode($postData['bar_code']);
}
function set_barcode($code)
{
$this->load->library('zend');
$this->zend->load('Zend/Barcode');
$bar_code = Zend_Barcode::render('code128', 'image', array('text'=>$code), array('imageType' => 'jpg'))->draw();
return $bar_code;
}
如何保存生成条形码的图像?
尽可能帮助儿子。
谢谢!
答案 0 :(得分:7)
我得到了解决方案:
function set_barcode($code)
{
$this->load->library('zend');
$this->zend->load('Zend/Barcode');
$file = Zend_Barcode::draw('code128', 'image', array('text' => $code), array());
$code = time().$code;
$store_image = imagepng($file,"../barcode/{$code}.png");
return $code.'.png';
}
使用imgepng函数存储图像 它会将条形码图像存储在条形码文件夹中。
答案 1 :(得分:0)
我们可以将barcode
图像保存到目录中,也可以将其保存到数据库中,或者两者都保存。
function set_barcode($code){
//load library
$this->load->library('zend');
//load in folder Zend
$this->zend->load('Zend/Barcode');
//generate barcode
$barcode = Zend_Barcode::factory('code128', 'image', array('text' => $code, 'barHeight'=>30, 'factor'=>2), array('imageType' => 'png'));
//set dir path for barcode image store
$path = './you/dir/path/'.$code.'.gif';
imagegif($barcode->draw(), $path);
/* if you want to permanently store your barcode image, and
save the path into your database,
just return this path. */
// return $path
//convert image into base64
$code_img_base64 = base64_encode(file_get_contents($path));
//if you want, remove the temporary barcode image
unlink($path);
return $code_img_base64;
}