在本地主机和服务器上工作的映像的绝对路径


Absolute path for images that work on localhost and server

对于包含php文件我使用

if ( !defined('ABSPATH') ) define('ABSPATH', str_replace("core/","",dirname(__FILE__) . '/'));

由于我的配置文件保存在核心,我必须删除它所在的文件夹。

现在它可以用于包含php文件,因为它给出了正确的文件路径,并且它也可以在服务器上工作。

但是下面的

行不起作用
<link rel="stylesheet" href="css/raw/style/site.css" media="screen"/>

因为这需要url而不是文件路径。图片也是一样,你也需要一个url。

在搜索堆栈溢出之后,人们说要使用文档根和所有这些,但是文档根只在服务器上有用。

我在本地使用wampserver,我在不同的文件夹中有许多不同的网页,所以文档根不太好。我也写我所有的网页本地上传之前。绝对路径必须在本地和服务器上工作。我也不能使用固定路径。因为我有很多版本的网站。每当我更新一个网站时,我都会创建一个新文件夹并给它编号。所以不断改变固定的路径是行不通的。

我的大多数网页都使用相对路径,因为我还没有想出一个好的绝对路径解决方案。

那么对于在本地主机和服务器上工作的绝对路径url的最佳解决方案是什么?

p。我知道有关于堆栈溢出回答这个问题的帖子,但没有人给我想要的答案。大多数人说定义一个本地和服务器地址,但我使用多个文件夹,所以这对我来说不起作用。

我终于找到了在本地主机和服务器上工作的答案。

function getCurrentURL()
{
    $currentURL = (@$_SERVER["HTTPS"] == "on") ? "https://" : "http://";
    $currentURL .= $_SERVER["SERVER_NAME"];
    if($_SERVER["SERVER_PORT"] != "80" && $_SERVER["SERVER_PORT"] != "443")
    {
        $currentURL .= ":".$_SERVER["SERVER_PORT"];
    } 
        $currentURL .= $_SERVER["REQUEST_URI"];
    return $currentURL;
}

我在我的配置中运行这个

if(!isset($_SESSION['ABSURL'])) $_SESSION['ABSURL']=getCurrentURL();

我在这个网站上找到了答案http://hayageek.com/php-get-current-url/