Files
crm-ms1/v4_ci4/app/Libraries/QrCodeService.php
2026-05-27 11:44:10 -04:00

45 lines
1.1 KiB
PHP

<?php
namespace App\Libraries;
class QrCodeService
{
public function get(string $landing): string
{
require_once APPPATH . 'Libraries/phpqrcode-master/qrlib.php';
$url = base_url('v4/' . $landing);
ob_start();
\QRcode::png($url, null, QR_ECLEVEL_M, 6);
return base64_encode(ob_get_clean());
}
public function generate(string $landing): string
{
// librairie QR
require_once APPPATH . 'Libraries/phpqrcode-master/qrlib.php';
// URL finale (portable CI4)
$url = base_url('v4/scan/' . $landing);
// dossier stockage
$dir = WRITEPATH . 'qrcodes/';
// créer dossier si absent
if (!is_dir($dir)) {
mkdir($dir, 0755, true);
}
// nom unique (multi-user safe)
$filename = 'qr_' . bin2hex(random_bytes(8)) . '.png';
$filepath = $dir . $filename;
// génération QR
\QRcode::png($url, $filepath, QR_ECLEVEL_M, 6);
// retour URL web
return base_url('writable/qrcodes/' . $filename);
}
}