PHP

短縮URLを復元する方法

get_headers関数使っていましたが
短縮URLがhttpsだとエラーになってしまったのでcurlを使って書きました。

コード

$url = '短縮URL';

$ch = curl_init();

// アクセス先
curl_setopt($ch, CURLOPT_URL, $url);

// ヘッダー部出力
curl_setopt($ch, CURLOPT_HEADER, true);

// タイムアウトを設定
curl_setopt($ch, CURLOPT_TIMEOUT, 30);

// SSLを無視する
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

// レスポンスが画面やターミナルに自動出力されるのを防ぐ
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Locationをたどるかどうか
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

// Locationをたどる回数
curl_setopt($ch, CURLOPT_MAXREDIRS, 3);

// リダイレクトの際にヘッダのRefererを自動的に追加させる
curl_setopt($ch, CURLOPT_AUTOREFERER, true);

$body = curl_exec($ch);
$header = curl_getinfo($ch);

curl_close($ch);

結果

echo '<pre>';
print_r($header);
echo '</pre>';

urlキーに復元されたURLが入ります

Array
(
    [url] => 復元されたURL
    [content_type] => text/html; charset=UTF-8
    [http_code] => 200
    [header_size] => 799
    [request_size] => 150
    [filetime] => -1
    [ssl_verify_result] => 20
    [redirect_count] => 1
    [total_time] => 1.031
中略
)