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 に答える
0

これを試して:

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