php - 写入文件后在新的浏览器窗口中打开文件(使用 fopen)

标签 php

我正在编写一个简单的订单系统,其中使用 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/

相关文章:

php imagick 注释抗锯齿

php - Sqlite3 和 PDO 问题与 ORDER BY

php - INNER JOIN 与 mysql 中带有 max 和 where 子句的子查询

javascript - 每 10 秒重新加载一次 javascript 代码

javascript - 流程图使用jquery从span获取数据

php - 如何定位除 WooCommerce 感谢页面之外的所有页面

php - 查找mysql记录的有效方法

php - 如何通过在 Lucene 上执行搜索来获取匹配的字符串?

php - Recyclerview MySql int 显示 0

php - 如何在 Laravel 集合中添加数字?