Mit cURL Short-Urls auflösen


Ich nutze gern mein Smartphone um RSS-Feeds zu abbonieren und hier und da mal ein paar Artikel zu lesen. Einige davon finde ich so gut, das ich Sie später unbedingt noch zu Ende lesen will oder daraus  etwas ausprobieren möchte. Da man mit dem Smathphone schnell und einfach Mails versenden kann, dachte ich mir das wäre ein Ansatz. Also wenn eine E-Mail bei einer bestimmten Adresse ankommt, wird sie auf einer Internetseite angezeigt, hier wollte ich allerdings keine Short-Urls mehr und da kam cURL ins Spiel.


public function getLocationHeaderFromUrl($url){

	$newUrl = '';
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_HEADER, TRUE);
	curl_setopt($ch, CURLOPT_NOBODY, TRUE); // remove body
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
	$head = curl_exec($ch);
	curl_close($ch);

	$header_lines = explode("\r\n", $head);

	foreach ($header_lines as $key => $header_line) {
		list($header, $value) = explode(':',$header_line,2);
		if($header == 'Location'){
			$newUrl = trim($value);
		break;
		}
	}

	return $newUrl;
}