【发布时间】:2021-03-08 15:22:00
【问题描述】:
我正在尝试使用phpqrcode 生成彩色二维码。
如果我直接将值赋予前景色和背景色,则效果很好。当我尝试发布它不起作用的值时。
我的代码:
$textname = $_POST["text"];
$filename = $_POST["filename"];
$level = $_POST["level"];
$size = $_POST["size"];
$margin = $_POST["margin"];
$backcolor = $_POST["backcolor"];
$forecolor = $_POST["forecolor"];
QRcode::png($textname , $filename, $level, $size, $margin, false, $backcolor, $forecolor);
效果很好:
$backcolor = 0xFFFFFF;
$forecolor = 0x00000;
无效:
$backcolor = $_POST["backcolor"];
$forecolor = $_POST["forecolor"];
【问题讨论】:
-
尝试使用检查器,看看 postvars 传递了什么。
-
@RobertSaylor 没关系。我认为这是因为字符串转换。但我不知道将该字符串转换为十六进制
-
也许它正在被编码。你可以试试 urldecode。 php.net/manual/en/function.urldecode.php
-
@RobertSaylor 感谢您的解决方案,但还是一样。直接十六进制值工作得很好,只是传递了麻烦的值。表格也很好用。我测试了输入值没问题。
-
我建议切换到一个新的(维护的)库,接受简单的十六进制代码作为字符串。由于该软件自 2016 年 11 月以来几乎没有维护......(替代方案:packagist.org/?query=qrcode)如果您必须使用它,您能否为您的手动值和 POST 值提供 var_dump 输出?