这是'connect.php'代码:
<?php
if(!require_once(explode('root',$_SERVER['DOCUMENT_ROOT'])[0].'root/core/function.php')) die('file not found');
在我转移到新服务器
之前,代码完美无缺现在无论我尝试多少时间仍然显示错误:
[09-Jan-2013 17:05:39] PHP Parse error: syntax error, unexpected '[' in /home/wwwroot/root/core/connect.php on line 2
[09-Jan-2013 17:10:10] PHP Parse error: syntax error, unexpected '[' in /home/wwwroot/root/core/connect.php on line 2
我尝试打开一个新的php文件进行测试:
<?php
print_r(explode('root',$_SERVER['DOCUMENT_ROOT']));
?>
结果应该有效!!
Array (
[0] => /home/public_html/
[1] => /core/
)
到底是怎么回事??
答案 0 :(得分:4)
您在服务器上的PHP版本不支持explode('root',$_SERVER['DOCUMENT_ROOT'])[0]
之类的结构。这仅在PHP 5.4中添加
您可以将爆炸结果分配给变量,然后像常规数组一样访问它。
答案 1 :(得分:2)
什么是新的PHP版本?
您可以尝试这样的事情:
$pathToCheck = explode("root",$_SERVER["DOCUMENT_ROOT"]);
if(count($pathToCheck) <= 1 || !require_once($pathToCheck[0]."root/core/function.php"))
die("file not found");
答案 2 :(得分:1)
它受到4.1等4个php版本的支持 更多信息 http://www.w3schools.com/php/func_string_explode.asp
答案 3 :(得分:0)
试试这个:
$path = explode ('root', $_SERVER['DOCUMENT_ROOT']);
require_once $path[0];