我不会在实际构建PDF本身时突破或显示冗长的代码,因为我知道文件生成工作正常.
当我尝试以下内容时:
$pdf->Output('abc.pdf', 'F');
Run Code Online (Sandbox Code Playgroud)
我收到错误:
FPDF错误:无法创建输出文件:abc.pdf
通过将输出目标更改为"D"或"I":
$pdf->Output('abc.pdf', 'D');
Run Code Online (Sandbox Code Playgroud)
系统会提示用户下载生成的pdf并成功完成(视图正常).该错误让我觉得这是一个权限错误,但是fpdf应该有权将pdf文件写入该行为已经发生的目录中吗?
以前有人处理过吗?
如果您的PHP脚本是从Web页面执行的(由Apache提供,那么),则此代码将由Apache (有时称为www-data)用户执行.
因此,您的Apache用户需要能够写入您尝试写入的目录.
通常,您可能必须使用命令行中的类似内容将write权限授予other系统用户:
chmod o+w your_directory
Run Code Online (Sandbox Code Playgroud)
您用来上传源文件的软件(如果使用GUI执行此操作)应该允许您使用几个chekbox来执行此操作 - 您需要选中"其他"用户的"写入"复选框.