PHPのset_include_path()関数の使い方を詳しく解説

墨辰丷
リリース: 2023-03-29 10:20:02
オリジナル
1602 人が閲覧しました

この記事では、PHP の set_include_path() 関数の関連する使用法を主に紹介し、ファイル パス設定に関する PHP の関連スキルをサンプルの形で分析します。必要な友人は参考にしてください。まず次のコードから始めてください:


<?php
/** 定义根目录 */
define(&#39;__TYPECHO_ROOT_DIR__&#39;, dirname(__FILE__));
/** 定义插件目录(相对路径) */
define(&#39;__TYPECHO_PLUGIN_DIR__&#39;, &#39;/usr/plugins&#39;);
/** 设置包含路径 */
@set_include_path(get_include_path() . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . &#39;/var&#39; . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . __TYPECHO_PLUGIN_DIR__);
?>
ログイン後にコピー

まず最初に:

このグローバル変数を見てみましょう: __FILE__

これはファイルのフルパスを表します(もちろんファイル名を含みます)

つまり、ファイルが配置されているディレクトリによって値が異なります。もちろん、パッケージ行ファイルで使用される場合、その値は含まれるパスになります。この関数:

string dirname ( string path )
ログイン後にコピー

これは PHP の組み込み関数です。この関数は何ですか? ファイル名以外のディレクトリを返す関数です。例:

で _FILE_ 変数を使用した場合。ホームページ:

(Web ページが配置されているディレクトリが http://localhost /web/index.php であると仮定します)、次に:

_FILE_ の値は http://localhost/web/index.php (絶対パス)。このとき、dirname(_FILE_)はhttp://localhost/web/を表しており、ファイル名index.phpが存在しないことを意味します。

そして dirname(dirname(_FILE_)) は上位レベルのディレクトリを表し、以下同様です;

最後に:


define() 関数を見てください。実際には、次のような定数を定義する関数です。 ( 'MEN','ooooo');

次に、MEN を使用して文字列 ooooo を表すことができます。

このように記述する利点は何ですか。つまり、変数を変更する必要がある場合に、変更するだけで済みます。これは、特にパスなどの文字列の場合に非常に便利です。

このコードの説明は次のとおりです:

define(&#39;__TYPECHO_ROOT_DIR__&#39;, dirname(__FILE__));
ログイン後にコピー

は、このファイルが配置されているディレクトリとして __TYPECHO_ROOT_DIR__ を定義することです。通常、このような定義が config.inc.php に配置され、取得されたディレクトリは次のとおりです。 config.inc.php が配置されているディレクトリ、つまりルート ディレクトリです。

りー

それは言うまでもありません!

set_include_path(get_include_path() . PATH_SEPARATOR . $path); が何を意味するかというと、これはインクルード パスです。

たとえば、データベース接続ファイル conn.php が含まれているとします。 ,

次のように設定します:

define(&#39;__TYPECHO_PLUGIN_DIR__&#39;, &#39;/usr/plugins&#39;);
ログイン後にコピー

その後、将来他のページで直接使用できます

set_include_path("/include")
ログイン後にコピー

これはよく見られませんか?もちろん、そのパラメータは文字列であり、途中で ; で区切って複数のパスを設定することもできます。

include("conn.php")
ログイン後にコピー

という文は何を意味しますか?

set_include_path(get_include_path() . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . &#39;/var&#39; . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . __TYPECHO_PLUGIN_DIR__);
ログイン後にコピー

そして、これらのファイルを inc ディレクトリに含めるのは安全ではないことがわかりました。どうすればよいでしょうか。これを include ディレクトリに置きたいのです。そうですね、ページ数が多くても疲れません。何か良い方法はありますか?持っている! ! ! ! ! ! !

config.inc.phpに書かれていること:

include(&#39;/inc/sql.php&#39;);
include(&#39;/inc/conn.php&#39;);
ログイン後にコピー

とても簡単です、はい、とても簡単です!ダイナミックな改造!

これは見ないでください: get_include_path() . $path は単なるパス文字列であり、中央のものは、先ほど定義した定数を組み合わせて文字列にまとめたものです。インクルード パスを動的に設定できます。含まれているパスが正しく返される場合、 false は誤って返されます。

概要: 上記がこの記事の全内容です。皆さんの学習に役立つことを願っています。

関連する推奨事項:

PHPでのファイル操作の詳細な図解説明

php

簡単な中国語検証コード関数の実装方法


php対称暗号化アルゴリズムの実装

以上がPHPのset_include_path()関数の使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!