如何将相关目录中的图像包含到php中的根目录中

时间:2012-04-10 16:47:46

标签: php

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

|relativeroot2(images directory)
   img1.jpg

在上面的myphp.php脚本中,Iam试图从relativeroot2目录中包含(img1.jpg)。我无法做到这一点,我怎么能包含它。当我说$_SERVER['DOCUMENT_ROOT'] iam返回的价值为“root”时,它是如何包含它的 <img src ="<?php echo $_SERVER['DOCUMENT_ROOT']?>"/relativeroot2/img1.jpg">

2 个答案:

答案 0 :(得分: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" />

答案 1 :(得分:0)

如果您的图表显示relativeroot2在root之外,但在同一个父目录中,您可以在指定之前使用../上升一级。您的图片代码中也有一个迷路双引号。

<img src ="<?php echo $_SERVER['DOCUMENT_ROOT']?>/../relativeroot2/img1.jpg">