【Laravel】ユーザの使用端末がPCかスマホか判定する(PHP)
PCとスマホで
表示項目やバリデーションを場合分けしたかったので。
Requestインスタンスが
端末のデータを持ってくれている!
そこから、大概のスマートフォンの情報のみを省いて
場合分けする。
このUser-Agentが持ってるらしい。
'agent' => $request->header('User-Agent')
なので、これを使って場合分け。
<?php ... /** * クライアントの使用端末がMobileかPCか判定 * * @param $request * @return string * @access private */ private function isMobileOrPc($request): string { $user_agent = $request->header('User-Agent'); if ((strpos($user_agent, 'iPhone') !== false) || (strpos($user_agent, 'iPod') !== false) || (strpos($user_agent, 'Android') !== false)) { return 'mobile'; } else { return 'pc'; } }
どうやら、iPoneとiPod(iPadはiPodになるそうで)、後Androidを省けば
大体対応できるようです。海外はわかりませんが
以上