Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
刷新后的页面重定向()-如果用户在“另存为”对话框(PHP)中单击“取消”_Php - Fatal编程技术网

刷新后的页面重定向()-如果用户在“另存为”对话框(PHP)中单击“取消”

刷新后的页面重定向()-如果用户在“另存为”对话框(PHP)中单击“取消”,php,Php,我看了很多网站,但没有找到有效的解决方案。所以我想在这里向aks寻求帮助,谢谢大家的建议。 我的问题是,我有以下文件下载代码: //***** DWN FILE ***** ignore_user_abort(true); set_time_limit(0); ob_get_clean(); ob_start(); header("refresh: 1;"); header('Content-Type: application/jpg'); header('Co

我看了很多网站,但没有找到有效的解决方案。所以我想在这里向aks寻求帮助,谢谢大家的建议。 我的问题是,我有以下文件下载代码:

//***** DWN FILE *****       
ignore_user_abort(true);
set_time_limit(0); 
ob_get_clean();
ob_start();        
header("refresh: 1;"); 
header('Content-Type: application/jpg');
header('Content-Length: ' . filesize($my_allpath_dwn));
header('Content-Disposition: attachment; filename="'.$my_imgfile.'"');              
@$file_dwnr = readfile($my_allpath_dwn);       

if ($file_dwnr) {$_SESSION['dwnstat'] = 'oki'; ob_flush(); flush();}
else {header("Location:./error_dwnmsg.html");}

if (connection_aborted()) {header('Location: '.$_SERVER['REQUEST_URI']);}
exit;
若用户点击SAVE按钮,那个么一切都正常,所以这个脚本完全继续,文件被保存,页面刷新后=>并没有问题。 但若用户在打开“另存为”对话框时单击“取消”,则不会保存任何文件(这对我来说没关系),但页面也不会刷新。在我看来,头是被发送的,如果它们被终止,那么即使有其他操作要做,也不会发生任何事情

我也尝试使用JS,但没有成功。唯一起作用的是“标题位置”,但若我在退出之前放置位置,那个么带有Readfile的标题将被删除,而不会发送到浏览器,那个么唯一的位置就是发送

我的问题是,有没有一种方法可以让Readfile刷新后的重定向(页面刷新),甚至用户在SaveAs对话框中单击CANCEL? (我需要刷新页面,但在Readfile刷新之后-在用户看到“另存为”对话框之后,无论他单击“保存”还是“取消”都需要刷新页面) 谢谢你的建议

更新:我做了一次尝试=>我将代码分为两页。第一页的一部分,用户点击下载按钮(输入),然后他被重定向(通过位置“page2”)到第二页。在现在重定向的第二页上,是此下载的代码(刷新)。猜猜看……另一个奇怪的行为……因为当我点击“下载”按钮上的第一页时,标题位置只在后台生成——我仍然在浏览器中看到第一页(甚至是生成了位置),现在还出现了对话框另存为……见鬼……我必须自己去煮咖啡,我非常困惑。。。。
我认为,如果我使用页眉位置,页面将转到另一个页面,并且只有在加载了第二个页面的内容后(使用所有连接的脚本,因为第二个页面调用它们,而不是第一个页面)。

当询问用户是否将下载的数据保存到文件时,数据已经被传输。服务器不会收到用户是否已将数据保存在文件中或取消该文件的通知。取消的唯一副作用是,当数据传输尚未完成时,它会被中止。GUMBO=>感谢您的快速回复。我明白这一点,服务器发送的文件和工作已经完成。好的,清除,但如果你尝试我的代码,你会发现如果你点击保存,那么在文件保存后,页面将进入刷新(按页眉刷新)。但若你们点击“取消”,并没有保存任何文件(对我来说是可以的),页面也不会刷新。也许这是JS的任务,但为什么如果用户点击保存会刷新页面,而如果用户点击取消则不会刷新页面?在我看来,这就像用户取消所有发送的标题??您使用的是哪种浏览器?Prinsig=>我已经在最新的Firefox(34.0)中对其进行了测试。我还有Opera、Chrome和IExplorer。我认为这应该是独立于浏览器的,因为这是PHP和服务器任务。好的,我将尝试其他浏览器(我希望这个浏览器也有同样的行为)。谢谢你的点球:)