PHP Header()不适用于重定向


PHP Header() not working for Redirect

我正试图解析一个文件下载页面,然后根据URL中传递的参数,自动将它们重定向到相应的下载文件。当我回显它时,一切都很好,但当我尝试使用header()时,它什么也没做。

<?php
require_once('simple_html_dom.php');
$html = file_get_html('http://dl.bukkit.org/downloads/craftbukkit/');
$dom = new DOMDocument;
libxml_use_internal_errors(true);
//echo $dom->loadHTML($html) ? "success<br/>" : "failed<br/>";
libxml_clear_errors();
$dom->preserveWhiteSpace = true;
$version = $_GET['version'];
if($version == "beta")
{
    foreach ($dom->getElementsByTagName('div') as $element)
    {
        if($element->getAttribute('class') == "downloadButton chan-rb  mini")
        {
            foreach ($element->getElementsByTagName('a') as $link)
            {
                if( $link->getAttribute('class') == "tooltipd")
                {
                    $lnk = $link->getAttribute('href')."<br/>";
                    $url = "Location:http://dl.bukkit.org".$lnk;
                    header($url);
                }
            }
        }
    }
}
?>

我相信我遇到了已经发送的Header的问题,尽管在此之前我没有使用任何HTML。有没有什么好的替代方案可以重定向到一个实际的文件(在这种情况下,它们是.jar扩展名)。

我通过删除它所说的提前发送Header信息的所有行,使它正常工作。这是代码,但如果有人对加快速度有任何建议(相当慢),请告诉我!

<?php
require_once('simple_html_dom.php');
$html = file_get_html('http://dl.bukkit.org/downloads/craftbukkit/');
$dom = new DOMDocument;
libxml_use_internal_errors(true);
$dom->loadHTML($html);
libxml_clear_errors();
$dom->preserveWhiteSpace = true;
$version = $_GET['version'];
if($version == "beta")
{
    foreach ($dom->getElementsByTagName('div') as $element)
    {
        if($element->getAttribute('class') == "downloadButton chan-beta  mini")
        {
            foreach ($element->getElementsByTagName('a') as $link)
            {
                if( $link->getAttribute('class') == "tooltipd")
                {
                    $url = "Location:http://dl.bukkit.org".$link->getAttribute('href');
                    header($url);
                }
            }
        }
    }
}