Нет. Это невозможно Я создал небольшой пакет функций, который работает на большинстве хостов.
<?php
class url{
function get_location_header($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
$response = curl_exec ($ch);
curl_close ($ch);
preg_match("~(http://.*)~", $response, $match);
return $match[0];
}
function cache_save($file, $content){
$f = fopen('cache/'.$file, 'w+');
fwrite($f, $content);
fclose($f);
}
function long_url($short_url){
$patterns = array('goo\.gl', 'tinyurl\.com', 'bit\.ly');
$header = $this->get_location_header($short_url);
if ($header){
$long_url = $header;
return $long_url;
}
}
}
$url = new url();
echo $url->long_url('http://goo.gl/0A3kH').'<br />';
echo $url->long_url('http://tinyurl.com/5b2su2').'<br />';
echo $url->long_url('http://bit.ly/4Agih5');
это с curl, но это невозможно без CURL / сети