このステートメントの意味がよくわかりません:
set_include_path('.'
. PATH_SEPARATOR . '../library/'
. PATH_SEPARATOR . '../application'
. PATH_SEPARATOR . get_include_path());
迅速な内訳をいただければ幸いです。
このステートメントの意味がよくわかりません:
set_include_path('.'
. PATH_SEPARATOR . '../library/'
. PATH_SEPARATOR . '../application'
. PATH_SEPARATOR . get_include_path());
迅速な内訳をいただければ幸いです。
ファイル「../library/filename.php」をインクルードする場合、include_path に 2 つのパスを追加します。あなたはそれを行うことができます
include('filename.php');
それ以外の
include('../library/filename.php');
これは何らかのフレームワークの一部だと思います
基本的に、フォルダーをphpインクルードパスに追加します
ここで最初に注意すべきことは、定数PATH_SEPARATOR
は、クロスプラットフォームのパス区切りを可能にする事前定義された定数であるということです (Unix 系のシステムでは ':' に、Windows では ';' に解決されます)。
次のコードでも同じ結果が得られますが、読みやすくなっています。
<?php
$paths = array('.', '../library/', '../application', get_include_path());
set_include_path(join(PATH_SEPARATOR, $paths));
またはもう少し冗長ですが、簡単に追加できます:
<?php
$paths[] = '.';
$paths[] = '../library/';
$paths[] = '../application';
$paths[] = get_include_path();
set_include_path(join(PATH_SEPARATOR, $paths));
PHP の set_include_path 関数は何をしますか?
これは、php エンジンがファイルを検索できる場所を設定します。
例えば:
cmp.php
私はこれを以下と呼ばれるphpファイルに入れました/home1/machines/public_html
<?php
print "1<br>";
require("hello.php");
print "<br>2<br>";
set_include_path("/home1/machines/public_html/php");
print "<br>3<br>";
require("hello.php");
print "<br>4<br>";
?>
hello.php
の下に新しいファイルを作成し/home1/machines/public_html
、これをそこに入れます:
<?php
print "hello from public_html";
?>
hello.php
という名前の 2 番目の新しいファイルを作成し/home1/machines/public_html/php
、これをそこに入れます。
<?php
print "hello from public_html/php";
?>
を実行cmp.php
すると、次のようになります。