<img src="data:image/png;base64, {!! base64_encode(QrCode::format('png')->size(300)->wiFi([
'ssid' => $this->ssid,
'encryption' => $this->encryption,
'password' => $this->password
])) !!} ">
<a href="" class=""></a>
<?
file_put_contents(
$_SERVER['DOCUMENT_ROOT'].'/path/to/file.png',
QrCode::format('png')->size(300)->wiFi([
'ssid' => $this->ssid,
'encryption' => $this->encryption,
'password' => $this->password
])
);
?>
<img src="/path/to/file.png">
<a href="" class=""></a>
<img src="data:image/png;base64, {!! base64_encode(QrCode::format('png')->size(300)->wiFi([
'ssid' => $this->ssid,
'encryption' => $this->encryption,
'password' => $this->password
])) !!} ">
<a
download="qr.png"
href="data:image/png;base64, {!! base64_encode(QrCode::format('png')->size(300)->wiFi([
'ssid' => $this->ssid,
'encryption' => $this->encryption,
'password' => $this->password
]))" class=""></a>
<img src="data:image/png;base64, {!! base64_encode(QrCode::format('png')->size(300)->wiFi([
'ssid' => $this->ssid,
'encryption' => $this->encryption,
'password' => $this->password
])) !!} ">
<a
download="qr.png"
href="data:image/png;base64, {!! base64_encode(QrCode::format('png')->size(300)->wiFi([
'ssid' => $this->ssid,
'encryption' => $this->encryption,
'password' => $this->password
])) !!}" class=""></a>
$png2 = QrCode::format('png')->size(300)->generate( тут я так понимаю должен быть префикс '../public/qr-wifi/111.png');
$png2 = base64_encode($png2);
use Illuminate\Support\Facades\Storage;
/*
Задаём путь по которому будет хранится картинка, сразу говорю
имя файла нужно делать уникальным чтобы файл не перезаписывался каждый раз.
Так ж у php должны быть права на запись в папку в которую вы сохраняете картинку
класс Storage будет сохранять по пути относительно директории storage/app/
*/
// сохранится в storage/app/public/qr/nameofpng.svg
// nameofpng.svg - лучше генерировать случайным
$pngPath = Storage::path('public/qr/nameofpng.svg');
//То что кодируем, в данном случае условная строка wifi подключения
$wifiCode = 'wifi:BLABLABLA';
$qr = QrCode::format('png')->size(300)->generate($wifiCode, $pngPath);
// далее в шаблон передаёте переменную $pngPath, где с помощью
Storage::url( $pngPath);
//или
'/storage' . $pngPath;
//PS не забываем что нужно сделать сим лин с помощью php artisan storage:link
$wifiCode = 'wifi:BLABLABLA';вот это таки и не работает, оно при сканировании пишет "открыть ссылку wifi " и открывает браузер, а должно спрашивать "подключиться к сети"
base64_encode(QrCode::format('png')
->color(000, 000, 000)
->merge('\public\wifi.png', .3)
->size(300)
->wiFi(['ssid' => $this->ssid, 'encryption' => $this->encryption, 'password' => $this->password]))
QrCode::generate('Make me into a QrCode!', '../public/qrcodes/qrcode.svg');
QrCode::generate(WIFI:T:WPA;S:mynetwork;P:mypass;;, '../public/qr-wifi/qqq.svg');
QrCode::generate('WIFI:T:WPA;S:mynetwork;P:mypass;;', '../public/qr-wifi/qqq.svg');
$permitted_chars = '0123456789abcdefghijklmnopqrstuvwxyz';
$randstr = substr(str_shuffle($permitted_chars), 0, 4);
QrCode::size(300)->format('png')->generate('WIFI:T:'.$this->encryption.';S:'.$this->ssid.';P:'.$this->password.';;', '../public/qr-wifi/'.$this->ssid.'-'.$randstr.'.png');
$this->sucsses = 'ok';
//так же его потом передаём в шаблон
$filename = uniqid($this->ssid . '_', true) . '.png';
// storage/public/qr-wifi/имя_файла, только абсолютный
$filepath = storage_path('public/qr-wifi/' . $filename);
QrCode::size(300)->format('png')->generate('WIFI:T:'.$this->encryption.';S:'.$this->ssid.';P:'.$this->password.';;', $filepath);
$this->sucsses = 'ok';
//Потом в шаблоне
//после выполнения линковки storage , в публичной папке должно появится папка storage
// Которая связана с storage/public в корне проекта (storage/public -> public/storage)
// Поэтому к файлам из шаблонов можно обращаться как:
<a href="storage/qr-wifi/{{$filename}}"> Скачать </a>
// или с хелпером asset, только нужно помнить что он генерирует с учетом настроек ASSET_URL(его меняют если есть CDN)
<a href="{{ asset('storage/qr-wifi/' . $filename) }}"> Скачать </a>