function
findRealUrl(
$url
) {
$redirect
=
''
;
$urlToQuery
=
$url
;
$urlParts
=
parse_url
(
$urlToQuery
);
$host
=
$urlParts
[
'host'
];
$path
=
$urlParts
[
'path'
];
$address
=
gethostbyname
(
$host
);
$socket
= socket_create (AF_INET, SOCK_STREAM, SOL_TCP);
socket_connect (
$socket
,
$address
, 80);
$request
=
'GET '
.
$path
.
' HTTP/1.1'
.
"\r\n"
;
$request
.=
'Host: '
.
$host
.
"\r\n"
;
$request
.=
'Connection: Close'
.
"\r\n\r\n"
;
socket_write(
$socket
,
$request
);
$answer
= socket_read(
$socket
, 8192);
socket_close(
$socket
);
$answerLines
=
explode
(
"\r\n"
,
$answer
);
foreach
(
$answerLines
as
$line
) {
$lineParts
=
explode
(
':'
,
$line
, 2);
if
(
$lineParts
[0] ==
'Location'
) {
$redirect
=trim(
$lineParts
[1]);
break
;
}
}
return
$redirect
;
}