[英]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);
}
}
}
}
}
?>
我相信我已經遇到了已經發送標題的問題,盡管在此之前我沒有使用任何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);
}
}
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.