質問: お世話になります。 現在企業HPを作っておりまして、グローバルナビヘッダとフッタはPHPで共通化しております。 同時に英語版のページも準備しており、ディレクトリ構成としてはルートディレクトリ直下に「en/」というサブディレクトリを作って、その中に日本語版と全く同名のPHPファイルをテキストだけ配置してあります。 しかし、この方法だとヘッダーの「英語」ボタンを押したときに、 〇〇.com/en/index.phpを開いてしまいます。 PHPでの該当リンク部分の記述は以下のようになっております。 ` JP / EN ` これをうまくen/ディレクトリの同名ファイルを参照できるようにする方法はありませんでしょうか?? 簡単にググりましたが結局方法について書いているサイトは見つからず・・・ 初心者で恐縮ですが質問させていただきます。 何卒よろしくお願い致します。 <追記> ご指摘がありましたので追記させていただきます。 PHPのバージョンは7を入れております。 質問について補足すると、 共有ヘッダのリンクについて、例えば今〇〇.com/aaa.phpにいるなら、 ヘッダのリンクから〇〇.com/en/aaa.phpに飛びたいという旨です。
回答: 現状を解決したいだけならこう。 ``` JP / ">EN ``` ※もちろん作りとしてはあまり好ましくはない * $_SERVER > > 'SCRIPT_NAME' > > 現在のスクリプトのパス。 スクリプト自身のページを指定するのに有用です。 *FILE* 定数には、カレント(すなわち読み込まれた)ファイルのパスとファイル名が 含まれます。 > > > * pathinfo() * basename() でも同じです。 要は「現在実行しているスクリプトのファイルパスからファイル名(拡張子付)だけ取り出す」というやり方です。 逆にen→jpにも使えます。 ※もし、クエリストリングまで持ってくるならREQUEST_URIの方がいいかもしれませんが。 ただ、既に書いたとおり、コーポレートサイトでセキュリティまで担保する必要があるのは間違いないので、できればフレームワーク、さいあくでもCMS(WordPressなど)での構築しなおしを検討してください。 何か問題があってからでは遅いです。