我不确定您要达到的目标。您可以使用URL php://
stdin阅读stdin。但这是PHP命令行中的stdin,而不是pdftk中的stdin(通过exec)。
但我会给+1
proc_open()
<?php$cmd = sprintf('pdftk %s fill_form %s output -','blank_form.pdf', raw2xfdf($_POST));$descriptorspec = array( 0 => array("pipe", "r"), // stdin is a pipe that the child will read from 1 => array("pipe", "w"), // stdout is a pipe that the child will write to 2 => null,);$process = proc_open($cmd, $descriptorspec, $pipes);if (is_resource($process)) { // $pipes now looks like this: // 0 => writeable handle connected to child stdin // 1 => readable handle connected to child stdout fwrite($pipes[0], stream_get_contents(STDIN)); // file_get_contents('php://stdin') fclose($pipes[0]); $pdf_content = stream_get_contents($pipes[1]); fclose($pipes[1]); // It is important that you close any pipes before calling // proc_close in order to avoid a deadlock $return_value = proc_close($process); header('Content-type: application/pdf'); header('Content-Disposition: attachment; filename="output.pdf"'); echo $pdf_content;}?>


