这很奇怪,下面代码的第一行(TCPDF - PDF创建代码)可以工作,但有时候没有明显的原因。我讨厌间歇性的错误。失败时,错误消息与下面显示的第3行相同。
第二行正常。我相信这是更好的编码方式,不知道为什么。
第三行不起作用,但如果确实如此,我认为会更稳定。
错误说:
警告: imagecreatefrompng(/ var / www / vhosts / path-to-file / tcpdf /../../ path / includes / php / phpqrcode.php?text = textforqrcode):无法打开流:没有这样的文件或目录。< / p>
../../
用于到达正确的目录,我知道这是正确的,因为它与第2行相同,包含和图像在目录结构中处于同一级别。< / p>
事情是道路是正确的。我想这不起作用,因为它是由php文件生成的文件,但是它确实在第1行工作,它作为一种http对象生成。
这是我迄今为止尝试过的代码:
$pdf->Image('http://' . $serverHost . '/includes/php/phpqrcode.php?text='.$random, 15, 77, 30, 30, 'PNG', '', '', true, 150, '', false, false, 0, false, false, false);
$pdf->Image(__DIR__ . '/../../path/images/template/refunded.gif', 15, 77, 30, 16, 'GIF', '', '', true, 150, '', false, false, 0, false, false, false);
$pdf->Image(__DIR__ . '/../../path/includes/php/phpqrcode.php?text='.$random, 12, 250, 20, 20, 'PNG', '', '', true, 150, '', false, false, 0, false, false, false);
我也试过了,但它并不喜欢它,类似的错误信息:
$pdf->Image( K_PATH_IMAGES . '../../../../path/includes/php/phpqrcode.php?text='.$random, 12, 250, 20, 20, 'PNG', '', '', true, 150, '', false, false, 0, false, false, false);
(../../../../,因为相对路径发生了变化)。
我感觉我的头撞在墙上......
答案 0 :(得分:2)
您不能使用查询字符串参数引用本地文件。如果phpqrcode.php
期望text
参数来自GET参数,则必须通过服务器加载它。如果您直接引用该文件,它将不会运行PHP代码,而是直接为您提供PHP文件。在这种情况下,它甚至无法找到该文件,因为它正在查找名为phpqrcode.php?text=asd
的文件,而不是phpqrcode.php
。
据我所知,第一种方法是正确的,但如果你遇到问题,那么我们需要知道你用什么库来生成二维码。
答案 1 :(得分:0)
正如评论中所建议的那样,我使用copy()将图像保存到服务器上,使用PDF中服务器中的图像然后删除脚本末尾的图像。 Simples!谢谢@onik