PHP

PHPでURLに特定のディレクトリ(文言)があるか判別

例えばカレント表示など、特定のディレクトリの画面においてのみHTMLやCSSを変える、ということがしたい場合があります。そういうときに便利なURLで判別する方法をご紹介します。

コード

まずURLを取得し、strstrで、URLに特定の文字がある場合を判別しています。特定の文字を/ディレクトリ名/とスラッシュで前後を挟めば、特定のディレクトリ、またはそれ以下の階層の場合のみ動く処理を書くことができます。

<?php
$url = $_SERVER&#91;'REQUEST_URI'&#93;
if( strstr( $url, '/ディレクトリ名/' ) ):
   //処理
endif;
?>

注意点

スラッシュで前後を挟むことで、うっかり他の画面でも書いた処理が動いてしまうということはないはずですが、同じ名称のディレクトリを他にも作ってしまうと、当然そのディレクトリでは動いてしまうので、その点は留意が必要です。

まとめ

たまに使うコードなので、私のコピペ用でした。

著者のイメージ画像

BringFlower
稲田 高洋(Takahiro Inada)

2003年から大手総合電機メーカーでUXデザインプロセスの研究、実践。UXデザイン専門家の育成プログラム開発。SEOにおいても重要なW3Cが定めるWeb標準仕様策定にウェブアクセシビリティの専門家として関わる。2010~2018年に人間中心設計専門家を保有、数年間ウェブアクセシビリティ基盤委員も務める。その後、不動産会社向けにSaaSを提供する企業の事業開発部で複数サービスを企画、ローンチ。CMSを提供し1000以上のサイトを分析。顧客サポート、サイト運営にも関わる。
2022年3月にBringFlowerを開業し、SEOコンサル、デザイン、ウェブ制作を一手に受ける。グッドデザイン賞4件、ドイツユニバーサルデザイン賞2件、米国IDEA賞1件の受賞歴あり。