2017-09-26 154 views
1

目前我正在爲我檢查幾個域的腳本。現在我wan't知道如果幾個文件夾路徑與此代碼設置正確:

case "log_path": 
$obj->$key = $value === "/var/www/vhosts/'.$_SERVER['HTTP_HOST'].'/httpdocs/logs"; 
break; 

這是應該檢查的路徑:

/var/www/vhosts/example.com/httpdocs/logs 

但是我上面貼的沒有按代碼沒有工作。所以我的問題,在文件夾路徑中實現$_SERVER數組的正確方法是什麼?

+0

$ _ SERVER [ '文檔根']你可以使用這個 –

+0

嘗試'$ _SERVER [ 'SERVER_NAME']' –

回答

2

使用以下後添加一個尾隨斜線:

$obj->$key = $value === "/var/www/vhosts/{$_SERVER['HTTP_HOST']}/httpdocs/logs"; 

問題是你沒有正確地結束報價。你的字符串從"開始,但是要連接你使用的是'。而不是連接使用{}以在字符串中包含$_SERVER['HTTP_HOST']

2

嘗試使用服務器陣列中的文檔根密鑰,以

$_SERVER['DOCUMENT_ROOT'] 

不要忘了文檔根

1

用途:$obj->key對象符號

1

你有串聯串語法錯誤。用途:

$obj->$key = $value === "/var/www/vhosts/'".$_SERVER['HTTP_HOST']."'/httpdocs/logs"; 

$obj->$key = $value === "/var/www/vhosts/{$_SERVER['HTTP_HOST']}/httpdocs/logs"; 
1

您可以使用雙引號的字符串數組項,像這樣

case "log_path": 
$obj->$key = $value === "/var/www/vhosts/$_SERVER[HTTP_HOST]/httpdocs/logs"; 
break;