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