2017-03-03 121 views
0

我目前有一個問題,因爲我需要在我的虛擬主機中使用別名。虛擬主機別名和php包括

這是我的別名,配置:

Alias /projects/proj_one/core /Applications/XAMPP/xamppfiles/htdocs/projects/core 

所以,當我內proj_one工作當我簡單地使用HTML像<img 'src=core/..'>

然而,當我想用​​<?php require_once('core/file.php') ?> 它告訴我該文件未找到:failed to open stream: No such file or directory in

所以我認爲,PHP只是尋找core/內e項目,並且顯然沒有找到它,因爲它不理解來自虛擬主機的別名。

我該如何告訴php這個文件是通過別名在別的地方?

非常感謝你

回答

1

虛擬主機別名是爲apache而不是爲php。 當您需要或包含您應該使用的文件時。

require_once(__DIR__.'/core/file.php'); 

如果目錄核心位於包含您的文件所在的目錄中,

其中__DIR__始終是當前目錄。

所以,讓我們說你調用需要你的index.php和你的項目結構是:

/home/apps/application 
      |-index.php 
      |-core 
       |-file.php 

那麼這個代碼:

require_once(__DIR__.'/core/file.php'); 

會工作。

如果你的結構是:

/home/apps/application 
      |-public 
      | |-index.php 
      |-core 
       |-file.php 

然後:

require_once(__DIR__.'/../core/file.php'); 

這將工作。

+0

嗯,我錯了,其實我以爲我不能用PHP訪問vhost以外的文件,因爲我不能用HTML和JavaScript來做,因爲它可能是客戶端。儘管非常感謝! –