¿Cómo devolver un valor basado en la cadena de consulta?
-
10-12-2019 - |
Pregunta
Tengo esta muestra de código (escrita por otra persona) que analiza el sitio web y encuentra la URL de la última versión de cada tipo de archivo (Beta / Developemental / Liberación) y los devuelve.
Me gustaría poder hacer algo como bukkit.php? Version= Beta y lo hago automáticamente, vaya a esa URL y inicie la descarga.¿Cómo voy a hacer algo de esa naturaleza?
<?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;
foreach ($dom->getElementsByTagName('div') as $element){
if($element->getAttribute('class') == "innerContent"){
foreach ($element->getElementsByTagName('a') as $link) {
if( $link->getAttribute('class') == "tooltipd")
{
echo $link->getAttribute('href')."<br/>";
}
}
}
}
?>
Solución
Utilice más bien una expresión regular para encontrar la URL
$html = file_get_html('http://dl.bukkit.org/downloads/craftbukkit/');
preg_match("/bukkit\.php\?version=([beta|alpha|rc]+)/i", $html, $matches);
header("Location: ". $match[1]);
Otros consejos
Algo así podría ser lo que está buscando:
$version = $_GET['version'];
if($version == 1) {
header("Location: http://www.domain.com/version1");
} else if($version == 2) {
header("Location: http://www.domain.com/version2");
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow