我在我的窗口框上安裝了wamp。一般來說,當我從網站下載一個網站時,我在www文件夾內爲網站名稱創建了一個文件夾。例如:c:\ wamp \ www \ mysite。一旦我有了這個文件夾,我就會複製所有的實時文件。問題是,所有的路徑然後被破壞,因爲我的本地文件夾沒有根。如何在PHP中聲明路徑以允許簡單的應用程序移動到無根的文件夾?
設置路徑的最佳方式是什麼?如果網站移動到未固定的文件夾,它會很容易地工作?
我在我的窗口框上安裝了wamp。一般來說,當我從網站下載一個網站時,我在www文件夾內爲網站名稱創建了一個文件夾。例如:c:\ wamp \ www \ mysite。一旦我有了這個文件夾,我就會複製所有的實時文件。問題是,所有的路徑然後被破壞,因爲我的本地文件夾沒有根。如何在PHP中聲明路徑以允許簡單的應用程序移動到無根的文件夾?
設置路徑的最佳方式是什麼?如果網站移動到未固定的文件夾,它會很容易地工作?
我使用一個文件(通常叫做config.php
)跟蹤根文件夾。我的定義(常量)是這樣的:
define('BASE_DIR','/wherever/whenever/');
define('LIB_DIR', BASE_DIR . 'lib/');
然後當你需要包含一個文件
include LIB_DIR . 'aFile.php';
這將是你做的東西上了一個新的網站,或者如果你有時間來重構你的當前網站。
我們使用$_SERVER['DOCUMENT_ROOT']
來確定我們在文件系統中的位置,然後簡單地追加我們項目的文件夾名稱。這對我們來說非常合適。你應該總是使用一個configuration.php來定義在將項目從一個服務器/文件夾移動到另一個時可能會改變的基本路徑和URL。
創建一個包含文件,該文件具有根據任何根目錄設置的常量......然後在您的代碼中,使用您創建的常量來包含文件。
還要注意,當您使用目錄「斜線」,總是在不斷DIRECTORY_SEPARATOR,而不是使用構建硬編碼它,這將允許你從Windows去到Linux的無縫連接。
選項1.使用<base href=""/>
tag
選項2.使用一個配置文件,如@MattCan表明
選項3.使用服務器環境變量,像@Bjorn表明
選項4。在你的apache上創建一個虛擬主機,你可以創建一個域來指定你的app文件夾在哪裏。 Apache Doc here
除非您要更改站點的PHP代碼中的所有路徑邏輯,否則您將需要爲此找到apache解決方案。 –