Pear Barcode 2 — сохранить на диск

Я генерирую GIF штрих-код с помощью Pear Barcode2.

в настоящее время это работает, и я могу видеть изображение в виде файла GIF изображения. поэтому страница отображается не в формате HTML, а как отдельное изображение.

мой код:

$small_graph_height = 55;
$small_graph_width = 1.2;
$large_graph_height = 55;
$large_graph_width = 1.14;
$type = "gif";
$code = "code39";
$to_browser = TRUE;

include_once "application/libraries/Image/Barcode2.php";

$ticketno='TDN4993';
$productserial_str = empty($productserial_str) ? ucfirst($ticketno) : $productserial_str;
$productserial_type = $code;
$productserial_imgtype = $type;
$productserial_bSendToBrowser = $to_browser;
$productserial_height = $large_graph_height;
$productserial_width = $large_graph_width;

$productserial_img = Image_Barcode2::draw($productserial_str, $productserial_type, $productserial_imgtype, $productserial_bSendToBrowser, $productserial_height, $productserial_width);

ob_start();
imagepng($productserial_img);
$productserial_imgBase64 = base64_encode(ob_get_contents());
ob_end_clean();

imagedestroy($productserial_img);

$image= '<img class="ProductSerial" src="data:image/' . $productserial_imgtype . ';base64,' . $productserial_imgBase64 . '">';
echo $image;

я хочу сохранить это изображение непосредственно на жестком диске сервера, а не показывать его пользователю.

Я пытался использовать PHP imagegif, но ему не нравится тот факт, что $ image в строковом формате.

Любой совет будет приветствоваться. Спасибо как всегда

0

Решение

Если вам нужно сохранить образ на диск, вам нужно будет использовать imgpng() функция.

Пример, который я получил от Вот.

imagepng($bc->draw($data, $type, 'png', false),'ur_image_location');
1

Другие решения

$small_graph_height = 55;
$small_graph_width = 1.2;
$large_graph_height = 55;
$large_graph_width = 1.14;
$type = "gif";
$code = "code39";
$to_browser = TRUE;

include_once "application/libraries/Image/Barcode2.php";

$ticketno='TDN4993';
$productserial_str = empty($productserial_str) ? ucfirst($ticketno) : $productserial_str;
$productserial_type = $code;
$productserial_imgtype = $type;
$productserial_bSendToBrowser = $to_browser;
$productserial_height = $large_graph_height;
$productserial_width = $large_graph_width;

$productserial_img = Image_Barcode2::draw($productserial_str, $productserial_type, $productserial_imgtype, $productserial_bSendToBrowser, $productserial_height, $productserial_width);

ob_start();
imagepng($productserial_img);
$png = ob_get_contents();
ob_end_clean();

file_put_contents('barcode.png', $png);

echo 'image saved to file barcode.png';
0

По вопросам рекламы [email protected]