2017-12-02 69 views
1

任何一个可以帮助我在下面的代码错误检测?它显示在 $headerList = [];(new DumpHTTPRequestToFile)->execute('./dumprequest.txt'); 错误,请帮我接收XML请求。请求中接收xml文件。代码有什么问题?

<?php 

class DumpHTTPRequestToFile { 

    public function execute($targetFile) { 
$data=""; 
     foreach ($this->getHeaderList() as $name => $value) { 
      //$data .= $value . "\n"; 
     } 

     $data .= ""; 

     file_put_contents(
      $targetFile, 
      $data . file_get_contents('php://input') . "\n" 
     ); 

     echo("Done"); 
    } 

    private function getHeaderList() { 

     $headerList = []; 
     foreach ($_SERVER as $name => $value) { 
      if (preg_match('/^HTTP_/',$name)) { 
       // convert HTTP_HEADER_NAME to Header-Name 
       $name = strtr(substr($name,5),'_',' '); 
       $name = ucwords(strtolower($name)); 
       $name = strtr($name,' ','-'); 

       // add to list 
       $headerList[$name] = $value; 
      } 
     } 

     return $headerList; 
    } 
} 
(new DumpHTTPRequestToFile)->execute('./dumprequest.txt'); 
?> 

enter image description here

+2

什么是你得到的错误? –

+0

在梦想查看器中显示错误,一旦我运行它会显示很多警告和错误,图像附加 – Ajnabi

回答

0

这就像你正在使用PHP的一个过时的版本,无论是作为Dreamweaver的处理器或服务器上。这些是PHP5.3中的语法错误,但在PHP5.4中允许,称为短阵列语法和实例化速记:http://php.net/manual/en/migration54.new-features.php

您可以使用$headerList = array()向后兼容PHP5.3及更低版本。

同样你can’t use the instantiation shorthand在PHP5.4之前的版本中;您需要:

$dump = new DumpHTTPRequestToFile(); 
$dump->execute(...); 

鉴于PHP5.3的方式过时了,我会强烈建议您更新的PHP版本,而不是通过代码拖网,使其互操作。