PHP如何保存api.qrserver.com/v1/create-qr-code生成的二维码
PHP how to save qr code generated in api.qrserver.com/v1/create-qr-code
我的 php 脚本中生成了一个二维码,输出标签是这样的:
<img src="http://api.qrserver.com/v1/create-qr-code/?data=http://example.com/url321&size=256x256&color=000000&bgcolor=ffffff&margin=1px" alt="Scan QR-Code" title="Scan QR-Code" width="256px" height="256px">
现在,我想将这个生成的图像保存在我的主机上
我如何使用 PHP 执行此操作?
我试过这段代码但没有成功:
//This line generates qr code:
$qrsrc = 'http://api.qrserver.com/v1/create-qr-code/?data='.$url.'&size='.$size.'&color='.$color.'&bgcolor='.$bgcolor;
//And the following lines try to store it:
$image_name = 'test.png';
$save_path = 'files/qrcode/'.$image_name;
$image_file = fopen($save_path, 'wb');
fwrite($image_file, $qrsrc);
fclose($image_file);
此代码创建图像文件。但图像不是正确的文件...
谢谢。
您实际上并没有获取图像。您只是将文字 URL 作为文本存储在 test.png
文件中。
首先获取图像:
$qrsrc = 'http://api.qrserver.com/v1/create-qr-code/?data='.$url.'&size='.$size.'&color='.$color.'&bgcolor='.$bgcolor;
// Get the image and store it in a variable
$image = file_get_contents($qpsrc);
// Save the file
$image_name = 'test.png';
$save_path = 'files/qrcode/'.$image_name;
// Save the image
file_put_contents($save_path, $image);
注意: 要使用 file_get_contents()
获取 URL,您需要确保已启用 allow_url_fopen
.我使用的大多数安装都已默认启用它。
您可以阅读更多相关信息 in the manual
我的 php 脚本中生成了一个二维码,输出标签是这样的:
<img src="http://api.qrserver.com/v1/create-qr-code/?data=http://example.com/url321&size=256x256&color=000000&bgcolor=ffffff&margin=1px" alt="Scan QR-Code" title="Scan QR-Code" width="256px" height="256px">
现在,我想将这个生成的图像保存在我的主机上 我如何使用 PHP 执行此操作?
我试过这段代码但没有成功:
//This line generates qr code:
$qrsrc = 'http://api.qrserver.com/v1/create-qr-code/?data='.$url.'&size='.$size.'&color='.$color.'&bgcolor='.$bgcolor;
//And the following lines try to store it:
$image_name = 'test.png';
$save_path = 'files/qrcode/'.$image_name;
$image_file = fopen($save_path, 'wb');
fwrite($image_file, $qrsrc);
fclose($image_file);
此代码创建图像文件。但图像不是正确的文件... 谢谢。
您实际上并没有获取图像。您只是将文字 URL 作为文本存储在 test.png
文件中。
首先获取图像:
$qrsrc = 'http://api.qrserver.com/v1/create-qr-code/?data='.$url.'&size='.$size.'&color='.$color.'&bgcolor='.$bgcolor;
// Get the image and store it in a variable
$image = file_get_contents($qpsrc);
// Save the file
$image_name = 'test.png';
$save_path = 'files/qrcode/'.$image_name;
// Save the image
file_put_contents($save_path, $image);
注意: 要使用 file_get_contents()
获取 URL,您需要确保已启用 allow_url_fopen
.我使用的大多数安装都已默认启用它。
您可以阅读更多相关信息 in the manual