我想我必须崩溃并寻求帮助。(应该在 3 天前完成!)
这就是发生的事情......
- PHP 读取会话和发布变量,从 mysql 查询构建一个 .csv 文件。
- 它会尝试打开“另存为”对话框,完成后跳转到另一个页面。
- 我正在使用嵌套函数,但是在运行时,对话框似乎被运行了并且永远不会出现。
- 单独的功能工作正常。
- 运行时,“另存为”对话框不等待用户输入
- 谁能看到我做错了什么,或者你能改变我的想法吗?
- $filename 指向服务器上创建的 CSV 文件
- $suggname 是用户应该在对话框中看到的默认文件名。
编码:
holdit($filename,$suggname);
function holdit($filename,$suggname) {
$fp=@fopen($filename, 'rb');
if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")) {
header('Content-Type: "application/octet-stream"');
header('Content-Disposition: attachment; filename="'.$suggname.'"' );
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header("Content-Transfer-Encoding: binary");
header('Pragma: public');
header("Content-Length: ".filesize($filename));
} else {
header('Content-Type: "application/octet-stream"');
header('Content-Disposition: attachment; filename="'.$suggname.'"' );
header("Content-Transfer-Encoding: binary");
header('Expires: 0');
header('Pragma: no-cache');
header("Content-Length: ".filesize($filename));
}
fpassthru($fp);
fclose($fp);
jump();
}
function jump() {
header('Location: return_from_csv.php');
}