ホームページ >バックエンド開発 >PHPチュートリアル >discuz による提供 discuz php DISCUZ_ROOT でファイルをインポートする方法を学びます
define('DISCUZ_ROOT', substr(dirname(__FILE__), 0, -7));
これは、フォーラムのインストール ルート ディレクトリを定義する discuz の定数です。次に、この非常に単純ですが非常に実用的な定数を分析してみましょう。
まず最初に説明しておきますが、この記事ではcommon.inc.phpファイルの絶対パスがF:webrootbbsincludecommon.inc.phpであることを前提としています
この文章はdiscuzのinclude/common.inc.phpに含まれています。 DISCUZ_ROOT の値を見てください: F: webrootbbs
次に、この文を詳しく分析してみましょう: もちろん、
define() は DISCUZ_ROOT という名前の定数を定義しています。
substr()、これは文字列インターセプト関数です。substr(‘123456789’, 0, -2) は 1234567 を返します。
dirname(__FILE__), __FILE__ はマジック定数で、マニュアルには「ファイルのフルパスとファイル名。インクルードされたファイルで使用された場合、インクルードされたファイル名が返されます。PHP 4.0.2 以降、__FILE__ は常に以前のバージョンには相対パスが含まれる場合がありましたが、絶対パスを含める必要がありました。」 dirname() は、パスのディレクトリ部分を返します。 dirname(__FILE__) は取得した文字列を含む F:webrootbbsinclude のようです。
define('DISCUZ_ROOT', substr(dirname(__FILE__), 0, -7)); は文字列 F:webrootbbsinclude から末尾の 7 文字を引いたものであることがわかります: F:webrootbbs
インクルード フォルダーが変更されている場合lib の場合は、-7 を -3 に変更する必要があります。わかりますか?
今後、プログラム内でファイルを参照する際には、 require_once DISCUZ_ROOT と記述することができます。この文の実際の内容は、 require_once F:webrootbbs./test.php です。
上記は、discuz php を学習するためのメソッド DISCUZ_ROOT を紹介し、powered by discuz の内容も含めて、PHP チュートリアルに興味のある友人に役立つことを願っています。