我正在编写一个简单的订单系统,其中使用 fopen
函数将几个数字(填写在表单内)写入另一个 .php 文件(也可能是 .html)。这工作正常,但在写入文件后,我希望浏览器实际打开写入的文件,最好是在新浏览器窗口中。这样我的客户就可以用它来打印、用作发票等。
现在我仍然是 php 领域的菜鸟,并且没有使用 fopen
的经验。但是无论我在哪里寻找教程等,都说 fopen
打开(当然是写)一个文件,但就我所经历的而言,它并没有。它似乎只是允许访问指定的文件进行写入和读取,而不是实际显示新写入的页面。
为避免混淆:我不想像其他问题一样在 SO 状态下打开链接。
我的代码:
<form action="" method="post">
<input type="text" id="amountTuna" name="numberTuna" value="0"/>
<input type="text" id="amountCheese" name="numberCheese" value="0"/>
<input name="send" id="send" type="submit" value="Post order" />
</form>
<?php
if (array_key_exists('send', $_POST)) {
$order = "order.php";
$fh = fopen($order, 'w') or die("can't open file");//file handler
fwrite($fh, "Tuna sandwiches: " . stripslashes($_POST['numberTuna']));
fwrite($fh, "Cheese sandwiches: " . stripslashes($_POST['numberCheese']));
$fh = fopen($factuur, 'r');
$fileip = fread($fh, filesize($factuur));
fclose($fh);
}
?>
尝试不同的 fopen
参数,例如 'w'
、'r'
、'r+'
等不会似乎没有任何区别。删除 fclose($fh)
似乎也没有任何区别。
最佳答案
使用JS脚本打开新窗口。例如在 fclose($fh)
之后:
echo "<script>window.open($order, '_blank'); window.focus();</script>";
关于php - 写入文件后在新的浏览器窗口中打开文件(使用 fopen),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12390829/