gpt4 book ai didi

php - 如何将 XML 文件从服务器动态保存到本地计算机?

转载 作者:行者123 更新时间:2023-12-02 18:48:54 24 4
gpt4 key购买 nike

请帮帮我。我的错误在哪里?我的 IIS 服务器上有许多 XML 文件。单击按钮后,XML 链接将出现在 JS 文件中。 JS 发送 PHP 文件的链接。 PHP 必须显示保存对话框才能保存此链接。参见代码:

JS:

function showAl(url)
{
alert(url);
var ajax = getRequest();
ajax.onreadystatechange = function()
{
if(ajax.readyState == 4)
{
...
}
}

ajax.open("POST", "/do_query.php", true);
var data = 'info='+url;
ajax.send(data);
}

PHP:

<?php
if (isset($_POST['info']))
{
$info = $_POST['info'];

header('Content-Type: application/xml;');
header('Content-Disposition: attachment; filename=file.xml;');

readfile(str_replace(" ", "%20", $info), false);
}
?>

提前致谢!

最佳答案

下载文件的三种简单方法:

  1. 很好的旧形式

    <form id="the-form" action="/do_query.php" method="post">
    <input type="hidden" name="info" value="test">
    <input type="Submit" value="Download with regular form">
    </form>
  2. 使用 JavaScript 提交良好的旧表单

    <script type="text/javascript">
    function download(){
    document.getElementById("the-form").submit();
    }
    </script>
    <input type="Submit" value="Download with JavaScript" onclick="download()">
  3. 切换到 GET(需要更改 do_query.php):

    <a href="/do_query.php?info=test">Download with link</a>

AJAX 的问题是它在当前(HTML)页面上运行。它可以操纵页面 HTML 或重定向到另一个位置,但无法发送自定义 HTTP 响应。

关于php - 如何将 XML 文件从服务器动态保存到本地计算机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16041355/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com