gpt4 book ai didi

mysql - 如何使用 pdftk fill_form 而不写入临时文件

转载 作者:行者123 更新时间:2023-11-30 01:26:13 24 4
gpt4 key购买 nike

我正在尝试使用 mysql 数据库中的数据填充 pdf 报告。它在我的本地计算机上运行良好,但是当我将其上传到 www.000webhost.com 时,未生成 pdf 文档。

我知道每次单击打印报告时,文档都会将临时文件写入我的文件夹。谁能告诉我为什么它在托管提供商上不起作用以及如何解决此问题。我的印象是这是一个安全问题。

我必须写一个临时文件吗?为什么我不能使用 $fdf 变量而不是临时文件来填充报告?

$fdf_fn= tempnam( '.', 'fdf' );
$fp= fopen( $fdf_fn, 'w' );
if( $fp ) {
fwrite( $fp, $fdf );
fclose( $fp );

//attachment for view
header( 'Content-type: application/pdf' );
header( 'Content-disposition: inline; filename=TEST.pdf');

passthru( "pdftk ./../../reports/TEST.pdf fill_form ". $fdf_fn.' output - flatten' );

unlink( $fdf_fn ); // delete temp file

最佳答案

Can anyone tell me why it doesn't work on the hosting provider and how I can fix this issue. I am under the impression that it is a security issue.

我的猜测是您根本没有所需目录的写入权限。

您在当前工作目录 (.) 中创建临时文件。根据您的托管提供商和 HTTP 服务器配置,当前工作目录不一定是您认为的那样,也不是可写的。特别是因为您的程序可能会以 wwwnobody 身份运行。

我假设您必须创建“临时”目录,然后调整其权限,或者使用“全局可写”位置,例如 /tmp

最后,您的程序中有一个“向上”移动的相对路径:./../../reports/TEST.pdf fill_form 这几乎没有机会在您的托管...

关于mysql - 如何使用 pdftk fill_form 而不写入临时文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17958161/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com