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

时间:2012-06-27 10:13:17

标签: php xml

需要一个小的基本帮助,我正在使用用户在表单中提交的参数动态创建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文件。

由于

1 个答案:

答案 0 :(得分:0)

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

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