2

このステートメントの意味がよくわかりません:

set_include_path('.'
. PATH_SEPARATOR . '../library/'
. PATH_SEPARATOR . '../application'
. PATH_SEPARATOR . get_include_path());

迅速な内訳をいただければ幸いです。

4

3 に答える 3

3

ファイル「../library/filename.php」をインクルードする場合、include_path に 2 つのパスを追加します。あなたはそれを行うことができます

include('filename.php');

それ以外の

include('../library/filename.php');

これは何らかのフレームワークの一部だと思います

基本的に、フォルダーをphpインクルードパスに追加します

于 2012-02-04T12:17:52.847 に答える
1

ここで最初に注意すべきことは、定数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));
于 2012-03-30T04:22:33.567 に答える
0

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すると、次のようになります。

ここに画像の説明を入力

于 2014-07-25T02:24:51.173 に答える