0

次のように、いくつかの定数を使用して、構築しているWebサイト上の特定のディレクトリへのパスを定義します。

define("ROOT_PATH", "http://website.com/");
define("IMAGES_DIR", ROOT_PATH . "images/");

そして私は通常次のようにそれらを使用します:

echo "<img src='" . IMAGES_DIR . "some_image.jpg' />";

今、私は間に違いがあるかどうか知りたいです

define("ROOT_PATH", "http://website.com/");

define("ROOT_PATH", "/home/username/public_html/");

どれを使うべきですか?なぜ?

4

3 に答える 3

1

違いは、htmlが画像またはsrc属性のフルパスを認識しないことです...しかし、これを使用することができます

define ('ROOT', dirname(dirname(__FILE__)));
define ('ROOT_PATH', "http://website.com/");
define ('INCLUDES',ROOT .'path/to/php/includes/'); //for php includes

または、php関数を使用して、getenv( "SCRIPT_NAME")に基づいて"ROOT_PATH"を変換できます。

于 2013-01-07T08:53:51.780 に答える
1

次のものは実際には使用できません。

define("ROOT_PATH", "/home/username/public_html/");

ロードしようとするので

http://website.com/home/username/public_html/image.png

あなたが本当に望んでいないこと。

使用する

define("ROOT_PATH", "http://website.com/");

取得しようとします

http://website.com/image.png

これはあなたが望むものです。

于 2013-01-07T08:29:36.900 に答える
0

使用する必要があります

define("ROOT_PATH", "http://website.com/");

使用する場合:

define("ROOT_PATH", "http://website.com/");

クライアント側では、画像のソース:

http://website.com/some_image.jpg

使用する場合:( ローカルファイルシステムのみ)

define("ROOT_PATH", "/home/username/public_html/");

画像ソース:

http://website.com/home/username/public_html/some_image.jpg
于 2013-01-07T08:35:17.477 に答える