我正在尝试使用表单值生成QR代码我的问题是它显示了一些错误,如:
警告:file_get_contents(http://www.test.com/chart?chs=100x100&cht=qr&chl=test1,test2,test3):无法打开流:HTTP请求失败! HTTP / 1.0 400本地路径中的错误请求。
当我运行此代码时,它将生成一个没有数据的QR码。
到目前为止,我已经这样做了:
$datas = $_POST['data'];
$width = $height = 100;
$url = implode(", ",$datas);
$qr_img = "<img src=\"http://www.test.com/chart?chs={$width}x{$height}&cht=qr&chl=$url\" />";
$filename = "images/qr-code/qr-code.png";
$qr = file_get_contents("http://www.test.com/chart?chs={$width}x{$height}&cht=qr&chl=$url");
file_put_contents($filename, $qr);
请帮我解决这个问题。
答案 0 :(得分:1)
我假设这一行:
$stmt = $db->prepare("SELECT * FROM ".$table." WHERE id=?");
$stmt->execute($id);
正在生成无效的网址。作为参数传递给另一个URL的URL必须是url编码的:
$url = implode(", ",$datas);