问题:在exec或passthru命令中是否可以使用php://memory?
我可以在exec或passthru中使用php变量,但是我在php://memory方面遇到了麻烦。
背景:
1)编写一个临时fdf文件
2)使用#1填充一个临时pdf文件
3)重复#1和#2以获得所有pdf文件
4)合并所有pdf文件。
这目前是有效的 - 但它会创建很多文件,并成为瓶颈。
我想通过利用虚拟文件php://memory来加快pdftk的速度。
首先,我正在尝试仅将#1中使用的fdf文件虚拟化。仅回答这个问题就足够了。
代码如下:
$fdf = 'fdf file contents here';
$tempFdfVirtual= fopen("php://memory", 'r+');
if( $tempFdfVirtual ) {
fwrite( $tempFdfVirtual, $fdf);
} else {
echo "Failure to open temporary fdf file";
exit;
}
rewind( $tempFdfVirtual);
$url = "unfilled.pdf";
$temppdf_fn = "output.pdf";
$command = "pdftk $url fill_form $tempFdfVirtual output $temppdf_fn flatten";
$error="";
exec( $command, $error );
if ($error!="") {
$_SESSION['err'] = $error;
} else {
$_SESSION['err'] = 0;
}
我遇到了错误代码#1。如果我使用stream_get_contents($tempFdfVirtual)函数,它会显示内容。
感谢查看!