2017-09-26 117 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;