我正在使用 proc_open 和 pdftk 来预填充一些表格的数据,这很好用,但不是将结果保存到文件然后读回文件,我想直接打印文件。我有这个工作,所以我没有任何问题。但是我想将 proc_open 的输出直接指向返回给用户的流,这样我就不必在 php.ini 中保存内存中的值。到目前为止,我有以下内容:
$descriptorspec = array(
0 => array("pipe","r"),
1 => array("pipe","w"),
2 => array("file","error.txt","a") );
$process = proc_open($command, $descriptorspec, $pipes);
if( is_resource( $process ) ) {
fwrite($pipes[0], $fdf);
fclose($pipes[0]);
echo stream_get_contents($pipes[1]));
fclose($pipes[1]);
proc_close($process);
}
我想将结果直接用于使用上面的代码,而不是将值实际保存在变量中然后打印出来。有没有办法将php输出中的流直接指向输出。我想这样做是为了节省内存并减少代码运行所需的时间。
有谁知道 php 中的流函数可以直接打印流结果。或者是否有 proc_open 的设置可以做到这一点。无论哪种方式,我担心这可能根本不起作用,因为我可能需要在输出中添加一个内容长度标题以直接显示 PDF。如果有人知道直接打印流的功能,是否还有一种方法可以在不实际读取流的情况下获取流的字节长度。