【问题标题】:Warning: file_get_contents(test.png): failed to open stream: No such file or directory in警告:file_get_contents(test.png):打开流失败:没有这样的文件或目录
【发布时间】:2020-02-15 14:13:36
【问题描述】:

我正在尝试使用 mpdf 生成 qrcode。但我无法以任何方式成功。我首先使用 jquery 创建了一个 qrcode,但它不允许 mpdf .. 后来我尝试使用二维码生成库创建二维码,但没有 我不能成功。

我的第一次尝试代码

use Mpdf\QrCode\QrCode;
use Mpdf\QrCode\Output;

$qrCode = new QrCode('Lorem ipsum sit dolor');

$output = new Output\Png();

// Save black on white PNG image 100px wide to filename.png
$output->output($qrCode, 100, [255, 255, 255], [0, 0, 0], 'filename.png');

错误

Fatal error: Uncaught Error: Class 'Mpdf\QrCode\QrCode' not found in E:\Xampp\htdocs\lab_allwork\certificate\certificate1\certificate.php:8 Stack trace: #0 {main} thrown in E:\Xampp\htdocs\lab_allwork\certificate\certificate1\certificate.php on line 8

我的第二次尝试代码

use Zxing\QrReader;
require __DIR__ . "/vendor/autoload.php";
$qrcode = new QrReader('test.png');
$text = $qrcode->text();
print($text);

错误

警告:file_get_contents(test.png):无法打开流:E:\Xampp\htdocs\mpdfqrcode\vendor\khanamiryan\qrcode-detector-decoder\lib\QrReader.php 中没有这样的文件或目录在第 34 行 警告:imagecreatefromstring():E:\Xampp\htdocs\mpdfqrcode\vendor\khanamiryan\qrcode-detector-decoder\lib\QrReader.php 中的空字符串或无效图像(第 35 行) 致命错误:未捕获的 InvalidArgumentException:图像源无效。在 E:\Xampp\htdocs\mpdfqrcode\vendor\khanamiryan\qrcode-detector-decoder\lib\QrReader.php:66 堆栈跟踪:#0 E:\Xampp\htdocs\mpdfqrcode\qrcode.php(4): Zxing\ QrReader->__construct('test.png') #1 {main} 在 E:\Xampp\htdocs\mpdfqrcode\vendor\khanamiryan\qrcode-detector-decoder\lib\QrReader.php 第 66 行抛出

我的第三次尝试代码

namespace Mpdf\QrCode\Output;

use Mpdf\QrCode\QrCode;

/**
 * @group unit
 */
class HtmlTest extends \PHPUnit\Framework\TestCase
{

    public function testOutput()
    {
        $code = new QrCode('LOREM IPSUM 2019');

        $output = new Html();

        $data = $output->output($code);

        $filename = __DIR__ . '/../../reference/LOREM-IPSUM-2019-L.html';
        file_put_contents($filename, $data);
        $this->assertSame($data, file_get_contents($filename));

        $code->disableBorder();

        $data = $output->output($code);

        $filename = __DIR__ . '/../../reference/LOREM-IPSUM-2019-L-noborder.html';
        file_put_contents($filename, $data);
        $this->assertSame($data, file_get_contents($filename));

        $code = new QrCode('LOREM IPSUM 2019', QrCode::ERROR_CORRECTION_QUARTILE);

        $data = $output->output($code);

        $filename = __DIR__ . '/../../reference/LOREM-IPSUM-2019-Q.html';
        file_put_contents($filename, $data);
        $this->assertSame($data, file_get_contents($filename));
    }
}

如果有人成功在 mpdf 中正确创建 qrcode 代码,或者如果 你知道正确的解决方案然后请告诉。

【问题讨论】:

  • 需要通过composer安装mpdf

标签: php qr-code mpdf


【解决方案1】:

要使用二维条码“QR”,需要安装一个附加类。在第一条错误消息中,您可以看到缺少此类。

“注意:从 mPDF 8.0 开始,自动生成二维码需要 composer 包 mpdf/qrcode。” https://mpdf.github.io/what-else-can-i-do/barcodes.html

此类必须通过 Composer 添加,例如 mPDF。见:https://github.com/mpdf/qrcode

在指定路径时,我总是使用绝对路径或使用函数 realphath() 计算它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-20
    • 2018-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-23
    • 1970-01-01
    相关资源
    最近更新 更多