この記事では、PHPの現在のドメイン名ディレクトリを取得する方法の例を説明します。皆さんの参考に共有してください。詳細は以下の通りです
http://127.0.0.1/dev/classd/index.php/download
たとえば、このアドレスでは、サイト内のリンクを生成するために使用する、baseurl という名前の赤い領域のアドレスを取得したいとします。
$_SERVER['SCRIPT_NAME'] を使用してください。 $_SERVER['SCRIPT_NAME'] は現在アクセスされている PHP ファイルの相対パスです:
$_SERVER['SCRIPT_NAME'] からディレクトリ部分を取得し、dirname 関数で発生する可能性のあるバックスラッシュの問題を置き換えます
コードをコピーします コードは次のとおりです: $baseUrl = str_replace('\','/',dirname($_SERVER['SCRIPT_NAME']));
空の場合は使用可能な通常の値を返すことが保証されます
コードをコピーします コードは次のとおりです: $baseUrl = empty($baseUrl) ? '/' : '/'.trim($baseUrl,'/').'/';
このようにすると、/dev/classd/のディレクトリアドレスが正常に取得できます。
ところで、私は Zend Framework の BaseUrl() 関数を調べましたが、これほど多くのコードを見たとたん、同じものに多くのコードが使用されていることがわかりませんでした。 $_SERVER から始まる関数 それらを大量に取得し、中間の 2 つまたは 3 つのクラスの後、現在の PHP ファイルを取得する中間の 3 行を除いて、最終的に 4 つまたは 5 つのメソッドが直接呼び出されます。残りは無駄で意味のない処理です。ZF 自体はすでに十分に遅いです。これは何を意味しますか?興味のある友達は調べてみてください。
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。