PHP检测打开/下载对话框

PHP检测打开/下载对话框,php,excel,forms,Php,Excel,Forms,不幸的是,这个问题可能会结束,但我希望有人能回答 我有一些PHP代码,可以打开excel,其中包含一些html数据。这是PHP: <?php $data = $_REQUEST['datatodisplay']; header("Content-Type: application/vnd.ms-excel"); header("Content-Disposition: attachment; filename=Data.xls"); header("Pragma: no-cache");

不幸的是,这个问题可能会结束,但我希望有人能回答

我有一些PHP代码,可以打开excel,其中包含一些html数据。这是PHP:

<?php
$data = $_REQUEST['datatodisplay'];
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=Data.xls");
header("Pragma: no-cache");
header("Expires: 0");

echo $data;

?>

以下是表格:

<form class='noPrint' action='demo/saveToExcel.php' method='post' target='_blank'
onsubmit="$('#datatodisplay').val( $('<div>').append( $('#dataTable').eq(0).clone() ).html() )">
<input id='excel' type='image' src='img/file.png'>
<input type='hidden' id='datatodisplay' name='datatodisplay' />
</form>

现在,这段代码工作得很好,但是有人能从PHP的角度解释一下它是如何做到这一点的吗,例如,我提交表单,它会临时打开一个新页面,出现一个下载框,我在Excel中点击open,然后我被发送回表单页面(但Excel也打开了)


PHP如何知道我已经下载并返回表单页面?

PHP不知道-它所做的只是提供一个excel文件。聪明的一点发生在JavaScript中,发生在表单的
onsubmit
方法上

它没有。您的浏览器从一开始就没有离开表单页面,因为文件是下载的,而不是显示在浏览器中。

但它会弹出一个新的空白页面,供对话框使用appear@ben表单操作是
“\u blank”
又称新页面,浏览器检测到新的空白页面后面有下载,然后关闭不必要的空白页。你真的不知道答案吗?声誉2593?我会问我是不是有。代表毫无意义