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

使用FPDF生成PDF时,拼接URL传参生成二维码遇400错误求助

问题描述

收集表单输入的文本字段数据,拼接成URL参数传递给二维码生成器,通过FPDF库在PDF中展示二维码(扫描可查看表单数据),但拼接URL与字符串数据时出现错误。

代码示例

主PDF生成代码

<?php
.....
$str_det=$School_Name . "-" . $School_Place . "-" . $Student_Name;
$url="http://localhost/SCHL/qr_generator.php?code=";
$pdf->Image("http://localhost/SCHL/qr_generator.php?code=".$str_det, 100,100, 60, 60, "png");
....
?>

qr_generator.php代码

<?php
  require_once("phpqrcode/qrlib.php");
  QRcode::png($_GET['code']);
?>
错误信息

Warning: fopen(http://localhost/SCHL/qr_generator.php?code=Our Angels Mat Hr school-Valasaravakkam-Mahesh Sugumar): Failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request in C:\xampp\htdocs\SCHL\fpdf.php on line 1274

Fatal error: Uncaught Exception: FPDF error: Can't open image file: http://localhost/SCHL/qr_generator.php?code=Our Angels Mat Hr school-Valasaravakkam-Mahesh Sugumar in C:\xampp\htdocs\SCHL\fpdf.php:267 Stack trace: #0 C:\xampp\htdocs\SCHL\fpdf.php(1276): FPDF->Error('Can't open imag...') #1 C:\xampp\htdocs\SCHL\fpdf.php(890): FPDF->_parsepng('http://localhos...') #2 C:\xampp\htdocs\SCHL\generate_pdf.php(56): FPDF->Image('http://localhos...', 100, 100, 60, 60, 'png') #3 {main} thrown in C:\xampp\htdocs\SCHL\fpdf.php on line 267

解决方案

方案1:对参数值进行URL编码

错误根源是拼接的字符串包含空格等特殊字符,未做URL编码导致HTTP请求被判定为无效。使用urlencode()函数处理参数值即可解决:

<?php
.....
$str_det = $School_Name . "-" . $School_Place . "-" . $Student_Name;
// 对参数值进行URL编码
$encoded_str = urlencode($str_det);
$pdf->Image("http://localhost/SCHL/qr_generator.php?code=" . $encoded_str, 100, 100, 60, 60, "png");
....
?>

方案2:本地生成二维码再插入PDF

绕开HTTP请求的方式,直接在本地生成临时二维码图片,插入PDF后删除临时文件,稳定性更高:

<?php
require_once("phpqrcode/qrlib.php");
.....
$str_det = $School_Name . "-" . $School_Place . "-" . $Student_Name;
// 生成临时二维码图片
$temp_qr_path = tempnam(sys_get_temp_dir(), 'qr_') . '.png';
QRcode::png($str_det, $temp_qr_path);
// 将本地图片插入PDF
$pdf->Image($temp_qr_path, 100, 100, 60, 60, "png");
// 删除临时文件
unlink($temp_qr_path);
....
?>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 01:02:07