[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: узнать куда ведёт редирект
HellFire
Здравствуйте.


Подскажите, как из сокращённой ссылки вытащить конечный URL куда редиректит.

Или хотя бы какие функции использовать и т.п.

Если можно я выложу ссылку пример, либо в ПМ скину.



Заранее спасибо.
HellFire
Думал делать всё через apache_request_headers или get_headers но у них нет в массиве информации о хосте, ну либо на пхп.нет нет инфы об этом.

Get_contents тоже не имеет общих данных с описанием ресурса.
killer8080
@file_get_contents($url);
if(isset($http_response_header) && preg_match('#location:(.*)#i', implode("\r\n", $http_response_header), $m))
$location = trim($m[1]);
else
$location = '';
HellFire
благодарю.

ещё 1 вопрос, вот код написал
$url=   "URL редиректа";
@file_get_contents($url);


if(isset($http_response_header) && preg_match('#location:(.*)#i', implode("\r\n", $http_response_header), $m));

$location = trim($m[1]);
$locationPerenos = $location."\r\n";


$fp = fopen("1.txt", "at"); // Открываем файл в режиме записи
flock($fp, LOCK_EX); // Блокирование файла для записи
$test = fwrite($fp, $locationPerenos); // Запись в файл
flock($fp, LOCK_UN); // Снятие блокировки

if ($test) echo 'Данные в файл успешно занесены.';
else echo 'Ошибка при записи в файл.';

fclose($fp); //Закрытие файла



после записи в файл ссылки дублируются, не могу понять почему...
killer8080
HellFire
зачем такие сложности? Чем file_put_contents() не устраивает?
И что такое $test?

P.S для оформления php кода используй [php][/php]
твой пост я подправил.
HellFire


@file_get_contents($url);


if(isset($http_response_header) && preg_match('#location:(.*)#i', implode("\r\n", $http_response_header), $m));

$location = trim($m[1]);
$locationPerenos = $location."\r\n";

$file = 'sites.txt';
// Открываем файл для получения существующего содержимого
$current = file_get_contents($file);
// Добавляем новсайт в файл
$current .= $locationPerenos;
// Пишем содержимое обратно в файл
file_put_contents($file, $current);


Так чтоль делать?

Всё равно 2 ссылки вписываются=/


мб здесь какая-то проблема?
if(isset($http_response_header) && preg_match('#location:(.*)#i', implode("\r\n", $http_response_header), $m));
HellFire
всё, проблема решена.


Оказывается, Тулбар в хроме RDS bar запускал повторно скрипт для проверки данных и данные дублировались..
killer8080
Цитата (HellFire @ 1.11.2012 - 23:04)
Так чтоль делать?

Нет, не так

file_put_contents($file, $locationPerenos, FILE_APPEND);
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.