You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP SimpleQrCode支持字符串拼接吗?变量生成二维码失败求助

解决Simple QrCode在Blade模板中生成动态二维码失败的问题

问题出在你在Blade的{!! !!}标签里嵌套了原生PHP的<?php echo ?>代码——Blade模板不会解析{!! !!}内部的原生PHP标记,导致生成的二维码内容不是预期的坐标URL,而是包含<?php echo doubleval(round($_GET['st_y'],2)); ?>这类字符串的无效URL,自然无法正常显示二维码。

正确的写法示例

你可以先把URL参数提取为PHP变量,再传入QrCode生成方法:

<?php
// 在qrcode.blade.php开头先处理参数
$lat = round($_GET['st_y'], 2);
$lng = round($_GET['st_x'], 2);
?>

然后生成二维码:

{!! QrCode::size(300)->generate("https://someurl.net/?lat={$lat}&lng={$lng}&zoom=17") !!}

或者用Laravel更规范的请求辅助函数,直接在Blade里处理:

{!! QrCode::size(300)->generate("https://someurl.net/?lat=" . round(request('st_y'), 2) . "&lng=" . round(request('st_x'), 2) . "&zoom=17") !!}

关于你提到的“复制输出后能运行”的原因

你复制的应该是页面最终渲染后正确的URL内容(比如查看页面源代码时,原生PHP代码已经被服务器执行,显示出了实际的坐标值),用这个正确的URL去生成二维码自然没问题——但原来的模板代码因为嵌套写法错误,导致QrCode生成时拿到的是未解析的PHP代码字符串,而非实际坐标。

内容的提问来源于stack exchange,提问作者trideset3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 13:01:17