下载链接以在 PHP 中使用 href 下载 XML 文件


Download link to download XML file using href in PHP

需要一个小的基本帮助,我正在使用用户在表单中提交的参数动态创建一个XML文件。提交表单后,我将跳入PHP代码,在那里我想提供一个href链接来下载/显示创建的XML文件。

这是我的示例代码:

<?php
$outputForm = 1;   
if(isset($_POST['submit'])){
$outputForm = 0
//Function to generate XML file which works as expected, so that XML file is there
createXML($folderPath, $albumName, $dateOfEntry);
//My XML file is named as albumName.xml and stored in the folderPath as specified
echo '<a href = "' .  $folderPath . $albumName. '.xml' . '">XML FILE</a>';
}
 else{
            $outputForm = 1;
        }
        if($outputForm == 1)
        {     
       //Here follows my input form
     <?php
       }
     ?>
FYI: 
$folderPath = 'c:/htdocs/output/';
Therefore:
$folderPath . $albumName = 'c:/htdocs/output/jessi';
In this example xml file name:
jessi.xml

我可以在输出中看到 href 链接,但当我单击它时它什么也没做。当我将光标移到"XML FILE"链接上时,我也可以看到 xml 文件的完整路径。

任何想法,我可以在 php 脚本中嵌入一个 href 链接来下载/显示 XML 文件。

谢谢

问题是,您通过使用http协议(无论是在本地服务器上还是远程服务器上)访问代码来运行代码,并且您尝试访问的文件是本地的,并且您正在使用File URI方案访问本地xml文件 因此,浏览器限制您访问该文件,可能是出于某种安全原因。如果您尝试通过直接在浏览器中打开html文件(而不是从本地主机运行它)来访问文件,您将能够使用该链接访问该文件位置,浏览器不会限制您。但是您将无法执行 php 代码。

因此,您可以使用相对路径或引用来自您的文件localhost的相对路径,为此使用http URI方案,浏览器不会限制您打开本地文件。