使用mpdf/mpdf v6.1.3时提示Mpdf\Mpdf类未找到报错如何解决
问题解决方案
- 第一步:修复自动加载文件路径
你当前写的require_once __DIR__ . '/composer/autoload.php';路径错误,正常通过composer安装依赖后,自动加载文件位于项目根目录的vendor文件夹下,修改为:
require_once __DIR__ . '/vendor/autoload.php';
如果是手动下载mPDF v6.1.3安装包未使用composer,直接引入包内的mpdf.php文件即可,不需要调用composer的自动加载:
require_once __DIR__ . '/替换为你存放mPDF包的实际路径/mpdf.php';
- 第二步:修正mPDF实例化代码
mPDF v6.x版本未引入命名空间,v7.0及以上版本才使用Mpdf\Mpdf命名空间类,你当前使用的v6.1.3直接实例化mPDF类即可:
$mpdf = new mPDF();
- 第三步:修复内容拼接错误
你现有代码中$data每次都用=赋值会覆盖之前的内容,需要将后续赋值改为.=拼接,同时修正重复的First Name标注:
$data =''; $data .= 'Your Details<br/>'; $data .= '<strong>First Name</strong>' .$Fname . '<br/>'; $data .= '<strong>Last Name</strong>' .$Lname . '<br/>'; $data .= '<strong>Username</strong>' .$User . '<br/>'; $data .= '<strong>City</strong>' .$City . '<br/>'; $data .= '<strong>State</strong>' .$State . '<br/>'; $data .= '<strong>Zip Code</strong>' .$Zip . '<br/>';
修改后完整可运行代码
<?php // 仅保留对应一种引入方式即可,composer安装用下面这行 require_once __DIR__ . '/vendor/autoload.php'; // 手动安装用这行,替换为实际路径 // require_once __DIR__ . '/mpdf/mpdf.php'; $Fname = $_POST['Fname']; $Lname = $_POST['Lname']; $User = $_POST['User']; $City = $_POST['City']; $State = $_POST['State']; $Zip = $_POST['Zip']; // 6.x版本直接实例化mPDF类 $mpdf = new mPDF(); $data =''; $data .= 'Your Details<br/>'; $data .= '<strong>First Name</strong>' .$Fname . '<br/>'; $data .= '<strong>Last Name</strong>' .$Lname . '<br/>'; $data .= '<strong>Username</strong>' .$User . '<br/>'; $data .= '<strong>City</strong>' .$City . '<br/>'; $data .= '<strong>State</strong>' .$State . '<br/>'; $data .= '<strong>Zip Code</strong>' .$Zip . '<br/>'; $mpdf->WriteHTML($data); $mpdf->Output('myfile.pdf', 'D');
内容的提问来源于stack exchange,提问作者melvin dizon
相关产品推荐
相关产品推荐

