PHP/FPDI:;警告:fopen:无法打开流:中没有此类文件或目录。";及;致命错误:未捕获的InvalidArgumentException:未提供流。”;

PHP/FPDI:;警告:fopen:无法打开流:中没有此类文件或目录。";及;致命错误:未捕获的InvalidArgumentException:未提供流。”;,php,fopen,fpdf,fpdi,Php,Fopen,Fpdf,Fpdi,我正在尝试使用FPDI/FPDF从项目中的本地路径获取现有PDF文件。 我按照说明进行操作,尝试正确地导入PDF文件,但我总是尝试使用命令导入PDF文件(即使在我的本地主机或服务器中),我收到以下消息: 警告:fopen(doc/certificado.pdf):无法打开流:无此类 D:\Program中的文件或目录 Files\amps\www\certificado\utils\fpdi2\src\PdfParser\StreamReader.php 在线43 致命错误:未捕获的Invali

我正在尝试使用FPDI/FPDF从项目中的本地路径获取现有PDF文件。 我按照说明进行操作,尝试正确地导入PDF文件,但我总是尝试使用命令导入PDF文件(即使在我的本地主机或服务器中),我收到以下消息:

警告:fopen(doc/certificado.pdf):无法打开流:无此类 D:\Program中的文件或目录 Files\amps\www\certificado\utils\fpdi2\src\PdfParser\StreamReader.php 在线43

致命错误:未捕获的InvalidArgumentException:未提供流。在里面 D:\程序 Files\Ampps\www\certificado\utils\fpdi2\src\PdfParser\StreamReader.php:105 堆栈跟踪:#0 D:\程序 Files\Ampps\www\certificado\utils\fpdi2\src\PdfParser\StreamReader.php(44): setasign\Fpdi\PdfParser\StreamReader->u构造(false,true)#1 D:\程序 Files\Ampps\www\certificado\utils\fpdi2\src\FpdiTrait.php(172): setasign\Fpdi\PdfParser\StreamReader::createByFile('doc/certificado…')) #2D:\Program Files\AMPS\www\certificado\utils\fpdi2\src\FpdiTrait.php(211): setasign\Fpdi\Fpdi->getPdfReaderId('doc/certificado…')#3 D:\Program 文件\Ampps\www\certificado\utils\gerarpdf.php(10): setasign\Fpdi\Fpdi->setSourceFile('doc/certificado…')#4{main} 在D:\程序中抛出 Files\amps\www\certificado\utils\fpdi2\src\PdfParser\StreamReader.php 在线105

这是我的代码,调用FPDI:

<?php
use setasign\Fpdi\Fpdi;

require_once('fpdf181/fpdf.php');
require_once('fpdi2/src/autoload.php');

$pdf = new Fpdi();

$pdf->AddPage(); 
$pdf->setSourceFile('doc/certificado.pdf'); 
$tplIdx = $pdf->importPage(1); 
$pdf->useTemplate($tplIdx); 
$pdf->SetFont('Arial', 'B', '15'); 
$pdf->SetXY(90,50);
$pdf->Write(10,'Test of typing something.');

$pdf->Output('I', 'doc/generated.pdf');

?>

可通过两个选项进行校正,其结果相同:

$pdf->setSourceFile(__DIR__ . "/../doc/certificado.pdf");
or
$pdf->setSourceFile('..\doc\certificado.pdf');

请尝试使用完整的文件路径,例如
$pdf->setSourceFile(\uu DIR\uu.'/doc/certificado.pdf”)
谢谢Phil,但仍然存在相同的错误,但是现在使用完整的文件路径描述时,pdf文件是否存在,并且PHP进程是否可读?是的。它位于项目根文件夹中的“doc”文件夹中。您的
.php
文件的位置是什么?您上面提到的“完整文件路径描述”对于您尝试加载的PDF文件是否正确?