当PHP返回文件时,浏览器URL不会更改

时间:2019-04-16 15:14:21

标签: javascript php wordpress

因此,我有一个可创建自定义管理页面的WordPress插件,例如:http://localhost/wp/wp-admin/admin.php?page=download_file

此页面具有一个按钮元素,单击该按钮将调用以下功能:

Cat says: MEOW I am a CAT
Dog says: WOOF I am a DOG
Dog says: MEOW I am a CAT
Dog address says: MEOW I am a CAT

我以这样一种方式配置了php:如果URL中存在function downloadFile(){ window.location.href += '&download'; } 属性,它将返回一个文件。

download

我想了解的是为什么发生这种情况时URL会恢复正常。 (它保持为http://localhost/wp/wp-admin/admin.php?page=download_file,没有function download_file() { global $pagenow; if ($pagenow === 'admin.php' && $_REQUEST['page'] === 'download_file&download') { $fichero = 'file.txt'; header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=$fileName"); header("Content-Transfer-Encoding: binary"); header("Content-Length: " . filesize($fichero)); @readfile($fichero); } } 属性)。如果我没有返回任何文件,而是返回了文件,则该URL将保留download属性(http://localhost/wp/wp-admin/admin.php?page=download_file&download

当对url的请求返回文件时,浏览器的反应是否有所不同?

如果稍后我实现了返回文件的条件并且不满足此条件,那么该如何利用这种行为来避免更改打开的页面,这意味着url将不返回任何内容?在这种情况下,我希望url保持为http://localhost/wp/wp-admin/admin.php?page=download_file,而没有现在出现的属性。

0 个答案:

没有答案