0

这是“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/
      )

搞什么鬼!?

4

4 回答 4

4

您在服务器上的 PHP 版本不支持explode('root',$_SERVER['DOCUMENT_ROOT'])[0]. 这仅在 PHP 5.4 中添加

您可以将您的分解结果分配给一个变量,然后像常规数组一样访问它。

于 2013-01-09T09:21:59.320 回答
2

什么是新的 PHP 版本?

你可以尝试这样的事情:

$pathToCheck = explode("root",$_SERVER["DOCUMENT_ROOT"]);
if(count($pathToCheck) <= 1 || !require_once($pathToCheck[0]."root/core/function.php"))
    die("file not found");
于 2013-01-09T10:24:50.090 回答
1

它支持 4+ php 版本,如 4.1 更多信息 http://www.w3schools.com/php/func_string_explode.asp

于 2014-11-06T22:00:10.743 回答
0

试试这个:

$path = explode ('root', $_SERVER['DOCUMENT_ROOT']);
require_once $path[0];
于 2013-01-09T09:21:22.850 回答