如何在PHP中获取真正的根URL(没有框架)

时间:2016-11-11 11:39:13

标签: php

我在一个public_html文件夹中有3个应用程序:

  • /的public_html / myapp_1
  • /的public_html /子文件夹/ myapp_2
  • /的public_html / subfolder3 /小/ myapp_3

当我将myapp_1作为sample.dev运行时 =>所以我得到了根url:sample.dev

当我将myapp_2作为sample.dev/subfolder运行时 =>所以我也得到了根网址:sample.dev

当我运行myapp_3作为sample.dev/subfolder3/small =>我也有root url:sample.dev

但是,我想得到:

  • myapp_2的网址为“sample.dev/subfolder”
  • myapp_3的网址为“sample.dev/subfolder/small”。

此活动将自动获取真实容器文件夹(未修复)

因为我有一个共同的功能:

function getFullAssetUrl('style.css');

此功能将返回:

  • 使用myapp_1 => sample.dev/style.css

  • 使用myapp_2 => sample.dev/subfolder/style.css

  • 使用myapp_3 => sample.dev/subfolder3/small/style.css

3 个答案:

答案 0 :(得分:1)

也许这两个PHP inbuild函数很有用。

$_SERVER['DOCUMENT_ROOT']
$_SERVER['HTTP_HOST']

或者使用PHP getcwd();

<?php

// current directory
echo getcwd() . "\n";

chdir('cvs');

// current directory
echo getcwd() . "\n";

?>

答案 1 :(得分:0)

使用getcwd()试用。只需将文件传递给函数,它就会输出文件的路径。

请参阅http://php.net/manual/en/function.getcwd.php

答案 2 :(得分:0)

使用base_url

<?php
   DEFINE('BASE_URL', HTTP_TYPE . "://" . HTTP_ROOT . substr(__DIR__, strlen($_SERVER[ 'DOCUMENT_ROOT' ])) . '/');

&GT;

或者,对于当前目录,您可以使用getcwd()

http://php.net/manual/en/function.getcwd.php