вы никогда не должны этого делать .... и я думаю, что попробовать его в последних браузерах бесполезно (из того, что я знаю) .. все последние браузеры, с другой стороны, не позволят этого ....
некоторые другие ссылки, которые вы можете пройти, чтобы найти обходной путь, как получение значения serveride, но не в clientide (javascript)
Полный путь от ввода файла с помощью jQuery Как получить путь к файлу из формы ввода HTML в Firefox 3
Один из способов (из многих) сделать это - открыть URL с помощью fopen
, а затем использовать stream_get_meta_data
для захвата заголовков. Это небольшой фрагмент, который я взял из того, что написал недавно:
$fh = fopen($uri, 'r');
$details = stream_get_meta_data($fh);
foreach ($details['wrapper_data'] as $line) {
if (preg_match('/^Location: (.*?)$/i', $line, $m)) {
// There was a redirect to $m[1]
}
}
Обратите внимание, что у вас может быть несколько перенаправлений, и они могут быть как относительными, так и абсолютными.
Я нашел этот ресурс наиболее полным, продуманным подходом и объяснением. Это не самый короткий фрагмент кода, но в конечном итоге вы сможете отслеживать множественные перенаправления с помощью пары таких строк:
$result = get_all_redirects('http://bit.ly/abc123');
print_r($result);
Вы можете сделать это с помощью cURL.
<?php
function get_web_page( $url )
{
$options = array(
CURLOPT_RETURNTRANSFER => true, // return web page
CURLOPT_HEADER => true, // return headers
CURLOPT_FOLLOWLOCATION => true, // follow redirects
CURLOPT_ENCODING => "", // handle all encodings
CURLOPT_USERAGENT => "spider", // who am i
CURLOPT_AUTOREFERER => true, // set referer on redirect
CURLOPT_CONNECTTIMEOUT => 120, // timeout on connect
CURLOPT_TIMEOUT => 120, // timeout on response
CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
);
$ch = curl_init( $url );
curl_setopt_array( $ch, $options );
$content = curl_exec( $ch );
$err = curl_errno( $ch );
$errmsg = curl_error( $ch );
$header = curl_getinfo( $ch );
curl_close( $ch );
//$header['errno'] = $err;
// $header['errmsg'] = $errmsg;
//$header['content'] = $content;
print($header[0]);
return $header;
}
$thisurl = "http://www.example.com/redirectfrom";
$myUrlInfo = get_web_page( $thisurl );
echo $myUrlInfo["url"];
?>
Код найден здесь: http://forums.devshed.com/php-development-5/curl-get-final-url-after-inital-url-redirects-544144.html