【问题标题】:php explode not work unreasonablephp爆炸不工作不合理
【发布时间】:2012-12-23 07:09:02
【问题描述】:

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

什么鬼!?

【问题讨论】:

  • 只是为了确保。你能试试 $myServer = explode('root',$_SERVER['DOCUMENT_ROOT']);---$myDoc = $myServer[0]; ---- 然后 ------ if(!require_once($myDoc.'root/core/function.php')) die('file not found');

标签: php function path root explode


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    什么是新的 PHP 版本?

    你可以试试这样的:

    $pathToCheck = explode("root",$_SERVER["DOCUMENT_ROOT"]);
    if(count($pathToCheck) <= 1 || !require_once($pathToCheck[0]."root/core/function.php"))
        die("file not found");
    

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

      • 谢谢伙计。我无法想象为什么我的代码在 explode 崩溃,而它在我的家用机器上运行良好......
      【解决方案4】:

      试试这个:

      $path = explode ('root', $_SERVER['DOCUMENT_ROOT']);
      require_once $path[0];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-05-05
        • 1970-01-01
        • 2015-12-25
        • 1970-01-01
        • 2011-10-05
        • 2012-08-30
        • 2013-02-13
        • 2015-01-20
        相关资源
        最近更新 更多