PHPにて短縮URLを展開させて、元のURLを取得する方法
短縮されたURLを展開させて、元のURLを取得したいというケースがあった。方法を調べたところPHPにて対応できる模様。以下に対応方法をメモ。
対応方法
ソースコード
<?php
//短縮URL
$url = 'https://x.gd/8GHUZ';
//ヘッダを取得
$header = get_headers($url, true);
//リダイレクト先のURLが存在するかチェック
if( isset($header['Location']) ){
$location = $header['Location'];
//複数存在する(短縮URLを更に短縮させたような)場合は最後のリダイレクト先を取得
if( is_array($location) ){
$location = end($location);
}
}else{
//リダイレクト先が無い(短縮URLではない)場合は元のURLを設定
$location = $url;
}
echo $location; //https://taitan916.info/blog/
リファレンス
get_headers
https://www.php.net/manual/ja/function.get-headers.php
end
https://www.php.net/manual/ja/function.end.php
Location
https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Location
関連記事
-
-
CodeIgniter3でログをファイルに出力する方法
Codeigniter3でエラーログの設定を行い特定のファイルに出力させ当該ログ ...
-
-
CodeIgniter4でコントローラ実行の前後に指定したイベントを実行する方法
CodeIgniter4で特定の条件の場合は指定したページにリダイレクトさせたい ...
-
-
FLASHから受信した画像をPHPで保存し、サムネイルも作る
■参考サイト ・FLASH http://www.ilovex.co.jp/bl ...
-
-
PHPで住所や名前のテキストをランダム生成するライブラリFakerPHPの使い方
PHPでランダムなデータを生成したい際に値段や点数等の数値やパスワード等のランダ ...
-
-
PHPにてメインドメイン⇔サブドメイン間でCookie及びSESSIONを共有する方法
PHPにてメインドメインのサイトで発行したCookie及びSESSIONをサブド ...