欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

Php根据短地址转换为源地址

程序员文章站 2022-05-25 23:45:21
...
$url = "http://dwz.im/14P";

echo unshorten ( $url );

function unshorten($url) {

$url = trim ( $url );

$headers = get_headers ( $url );

$location = $url;

$short = false;

foreach ( $headers as $head ) {

if ($head == "HTTP/1.1 302 Found" || $head == 'HTTP/1.0 301 Moved Permanently')

$short = true;

if ($short && startwith ( $head, "Location: " )) {

$location = substr ( $head, 10 );//Location: 10个字符

}

}

return $location;

}

function startwith($Haystack, $Needle) {

return strpos ( $Haystack, $Needle ) === 0;

}

/* Array

(

[0] => HTTP/1.0 301 Moved Permanently

[1] => Date: Mon, 04 Feb 2013 06:46:04 GMT

[2] => Server: LiteSpeed

[3] => Connection: close

[4] => X-Powered-By: PHP/5.3.20

[5] => Location: http://yxmhero1989.blog.163.com

[6] => Content-Type: text/html

[7] => Content-Length: 0

[8] => Vary: User-Agent

[9] => HTTP/1.1 200 OK

[10] => Server: nginx

[11] => Date: Mon, 04 Feb 2013 06:46:05 GMT

[12] => Content-Type: text/html;charset=GBK

[13] => Connection: close

[14] => Vary: Accept-Encoding

[15] => Vary: Host,Accept-Encoding

[16] => Set-Cookie: USERTRACK=61.170.229.53.1359960365378463; path=/; expires=Fri, 05-Apr-13 06:46:05 GMT; domain=.163.com

[17] => Set-Cookie: NTESBLOGSI=B9DAF1AA5E615128B7B79DCCF95AB455.app-71-8010; Domain=.blog.163.com; Path=/

[18] => Cache-Control: must-revalidate

[19] => Expires: Mon, 25 Apr 2005 21:10:50 GMT

[20] => Last-Modified: Mon, 04 Feb 2013 06:46:05 GMT

) */

?>