在localhost和server

时间:2016-08-27 16:46:33

标签: php html

包含我使用的php文件

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

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

现在这适用于包含php文件,因为它提供了正确的文件路径,它也适用于服务器。

但它不适用于以下行

<link rel="stylesheet" href="css/raw/style/site.css" media="screen"/>

因为这需要一个url而不是文件路径。 对于图像也是一样的,你也需要一个网址。

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

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

我的大多数网页都使用相对路径,因为我还没有找到绝对路径的良好解决方案。

那么在localhost和服务器上运行的绝对路径URL的最佳解决方案是什么?

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

1 个答案:

答案 0 :(得分:0)

我终于找到了适用于localhost和服务器的答案。

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/