Я использую QR API Google для создания QR-кодов, но хотел бы возможность загрузки изображения в PHP.Я посмотрел онлайн, но не могу найти ничего полезного.Есть предложения?
Я создаю QR-код примерно так:
function generateQR($url, $width = 150, $height = 150) { $url = urlencode($url); $image = '<img src="http://chart.apis.google.com/chart?chs='.$width.'x'.$height.'&cht=qr&chl='.$url.'" alt="QR code" width="'.$width.'" height="'.$height.'"/>'; return $image; } echo(generateQR('http://google.com'));
Вы можете использовать любую двоичную безопасную функцию для извлечения и вывода изображения с правильными заголовками.
Помните, что allow_fopen_url должен быть включен в конфигурации PHP.
Что-то вроде:
function forceDownloadQR($url, $width = 150, $height = 150) { $url = urlencode($url); $image = 'http://chart.apis.google.com/chart?chs='.$width.'x'.$height.'&cht=qr&chl='.$url; $file = file_get_contents($image); header("Content-type: application/octet-stream"); header("Content-Disposition: attachment; filename=qrcode.png"); header("Cache-Control: public"); header("Content-length: " . strlen($file)); // tells file size header("Pragma: no-cache"); echo $file; die; } forceDownloadQR('http://google.com');
, если вы хотите загрузить файл на свой веб-сервер (и сохранить его), просто используйте copy ()
copy($url, 'myfile.png');
. Это не заставит веб-браузер посетителей сохранятьфайл.