0

require_once含まれているすべてのファイルで期待どおりに機能することを確認するために、絶対パスを作成しています。c:/ program files(x86)/ apache software Foundation / apache2.2 / htdcos / photo_gallery

私はこれらの2つの例で試しました:

  1. defined("SITE_ROOT")? null : defined("SITE_ROOT","C:".DS."Program Files (x86)".DS."apache software foundation".DS."apache2.2".DS."htdocs".DS."photo_gallery");

  2. defined("SITE_ROOT")? null : defined("SITE_ROOT".DS."C:".DS."Program Files (x86)".DS."apache software foundation".DS."apache2.2".DS."htdocs".DS."photo_gallery");

4

3 に答える 3

1

まず第一に、特に実用的な結果が1つしかない場合は、3値オペランド内で割り当てを使用しないでください。ワンライナーは素晴らしいですが、実用性の縮図ではありません。

次に、スラッシュはWindowsでも正常に機能します。

if (!defined("SITE_ROOT")) {
    define("SITE_ROOT", "C:/Program Files (x86)/apache software foundation/apache2.2/htdocs/photo_gallery");
}
于 2013-03-06T13:18:10.990 に答える
0

まず、DSを定義する必要があります。これは、表示されていないためです。

  defined("DS")? null : define('DS', DIRECTORY_SEPARATOR);
  defined("SITE_ROOT")? null : define("SITE_ROOT", $_SERVER['DOCUMENT_ROOT'] . DS. 'photo_gallery');
于 2013-03-06T13:21:15.517 に答える
0

すでに「SITE_ROOT」を定義しています

$ _SERVER ['DOCUMENT_ROOT']にあるので、車輪の再発明をする必要はありません。必要に応じて、この「DOCUMENT_ROOT」または「SCRIPT_FILENAME」を使用して単純に連結します。

$site_root = dirname($_SERVER['DOCUMENT_ROOT']) . DIRECTORY_SEPARATOR . 'subdirectory';

dirnameは、表示される可能性のある末尾のスラッシュを取り除くために使用されます:http ://www.php.net/manual/en/reserved.variables.server.php#97351

于 2013-03-06T13:24:01.470 に答える