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
関連記事
-
-
PHPでプロキシ経由で他サーバーに接続する方法(file_get_contents / curlの2パターン)
PHPでfile_get_contentsやcurlで他サーバに接続する際に自サ ...
-
-
Mailtrap & PHPMailerでメールサーバ無しの環境でもメール送信テストを行う方法
開発環境等メールサーバが無い環境でメール送信テストを行う際にMailtrapとい ...
-
-
JavaScriptの「pako」ライブラリでGzip圧縮したデータをPHPで展開する方法
先日、JavaScriptの「pako」ライブラリで文字列やオブジェクト(連想配 ...
-
-
PHPにてSession発行時に保存されるCookieに対してHttpOnly / Secure属性を設定する方法
先日PHPのsetcookie実行時にHttpOnly / Secure属性を設 ...
-
-
Class 'DOMDocument' not foundエラーの対処方法
PHPでphpQueryというライブラリを利用しようとすると「Fatal err ...