簡體   English   中英

要將絕對路徑轉換為php中的相對路徑

[英]To convert an absolute path to a relative path in php

我想將絕對路徑轉換為相對路徑。

這是當前絕對代碼的樣子

$sitefolder  = "/wmt/";
$adminfolder = "/wmt/admin/";

$site_path = $_SERVER["DOCUMENT_ROOT"]."$sitefolder";

// $site_path ="//winam/refiller/";

$admin_path = $site_path . "$adminfolder";

$site_url    = "http://".$_SERVER["HTTP_HOST"]."$sitefolder";
$admin_url   = $site_url . "$adminfolder";

$site_images = $site_url."images/"; 

例如,上面的代碼會給你一個網站的網址

www.temiremi.com/wmt 

並訪問該文件將給

www.temiremi.com/wmt/folder1.php

我想做的是這個我想屏蔽temiremi.com/wmt並用dolapo.com替換它,所以它會說www.dolapo.com/folder1.php

是否有可能用相對路徑做到這一點。

我是初學者編碼員。 我付錢給別人為我做點什么,但我想現在就自己做。

問題是你的問題雖然看起來非常具體,卻缺少一些關鍵細節。

如果您發布的腳本始終在執行,並且始終希望將其轉到delapo.com而不是temiremi.com ,那么您要做的就是替換

$site_url    = "http://".$_SERVER["HTTP_HOST"]."$sitefolder";

$site_url    = "http://www.delapo.com/$sitefolder";

$_SERVER["HTTP_HOST"]變量將返回所請求站點的域。 因此,如果用戶訪問www.temiremi.com/myscript.php (假設您發布的腳本保存在名為myscript.php的文件中),則$_SERVER["HTTP_HOST"]只返回www.temiremi.com

另一方面,您可能並不總是重定向到相同的域,或者您可能希望腳本能夠輕松地適應以轉到不同的域,而不必將來再遍歷代碼層。 如果是這種情況,那么您需要一種方法來確定您希望鏈接到哪個域。

如果您在temiremi.com上托管了一個網站,但您希望它看起來像您正在從delapo.com進行訪問,則這不是PHP可以解決的問題。 您必須將delapo.com重定向到temiremi.com或者首先只是在delapo.comdelapo.com

如果情況正好相反,並且您希望在delapo.com上托管一個網站,但又希望用戶訪問temiremi.com ,則僅重寫鏈接是不夠復雜的答案。 此策略會在用戶單擊鏈接時將用戶重定向到其他域。 相反,您將需要設置代理以轉發信息。 代理腳本的復雜程度各不相同,但最簡單的就是:

<?php
    $site = file_get_contents("http://www.delapo.com/$sitefolder");
    echo $site;
?>

因此,您看到了,我們確實需要更多有關您為什么需要此腳本及其預期用途的信息,以便為您提供幫助。

在HTTP服務器配置中,這樣做會容易得多。 例如,使用Apache的VHost

我不太確定你的目標是什么,這看起來不像是相對路徑的絕對路徑,而是另一條絕對路徑。

您是否一直在嘗試將“ www.temiremi.com/wmt/”更改為“ delapo.com”? 如果是這樣,您只需要簡單的字符串替換,而不是$ _SERVER變量或路徑函數。

$alteredPath = str_replace("www.temiremi.com/wmt/", "delapo.com", $oldPath);
OR
$alteredParth "www.delapo.com/" . basename($oldPath)

如果我誤會了,請解釋,我不知道您是否需要使它更強大/更通用,並且您有點把我丟給“ dolapo.com”(當我第一次想到您的標題時,我本來是想比較一下$ _SERVER中的值的路徑並刪除公用部分,)

如上所述,如果您只是想讓URL顯示用戶(在地址欄或鏈接中)看起來不同,PHP就無法做到這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM