0
|root 
| subdir 1 
|   subdir 2
|     subdir 3
|       subdir 4
|         subdir 5 
|              myphp.php 

|relativeroot2(images directory)
   img1.jpg

上記の myphp.php スクリプトでは、(img1.jpg)from relativeroot2 dir.Iam をインクルードしようとしています。どうすればインクルードできますか? $_SERVER['DOCUMENT_ROOT']そこから「ルート」として値が返され たと私が言うとき、どのようにそれを含めることができますか<img src ="<?php echo $_SERVER['DOCUMENT_ROOT']?>"/relativeroot2/img1.jpg">

4

2 に答える 2

1

これがあなたのウェブフォルダがどのように見えるかを仮定します

 root
  /includes
  /relativeroot1
  /relativeroot2

path.php上記のincludesフォルダーに名前の付いたファイルを作成し、次を挿入します

<?php

if (session_id() == '') {
    session_start(); /* if not already done */
}

/* replace value below with appropriate header to root distance of this include file */

$header_to_root_distance = 1;
$header_dir = dirname(__FILE__);

$root_distance = substr_count($header_dir, DIRECTORY_SEPARATOR) - $header_to_root_distance;

  if($_SERVER['SERVER_ADDR']){
     $include_distance = substr_count(dirname($_SERVER['SCRIPT_FILENAME']), "/");
  }else{
     $include_distance = substr_count(dirname($_SERVER['SCRIPT_FILENAME']), "\\");
  }

$r_path = str_repeat('../', $include_distance - $root_distance);
$_SESSION['r_path'] = $r_path;

 /* Note - $r_path holds your relative url starting from the root folder */

?>

.htaccess上記のフォルダーにファイルを作成しroot、次を挿入します

<IfModule php5_module>
    php_value include_path "includes/"
</IfModule>

スクリプトなどの相対パスが必要なファイルを開き、myphp.php先頭に次を挿入します

<?php require 'path.php' ?>

したがって、ケース内の任意のファイルからの相対パスを要求するには。次のことを行うだけです

  <img src="<?php echo $r_path.'relativeroot2/img.jpg' ?>" title="My Image" />
于 2012-04-10T17:25:07.647 に答える
0

relativeroot2 がルートの外にあるが、同じ親ディレクトリ内にあることがダイアグラムに示されている場合は、../それを指定する前に を使用して 1 つ上のレベルに移動できます。また、イメージタグに二重引用符があります。

<img src ="<?php echo $_SERVER['DOCUMENT_ROOT']?>/../relativeroot2/img1.jpg">
于 2012-04-10T16:52:35.090 に答える