Example #1
0
 public function testCreateFromGlobal()
 {
     $_FILES = ['myfile' => ['name' => 'someimage.jpg', 'type' => 'image/jpeg', 'tmp_name' => '/tmp/phpM0Jr9t', 'error' => 0, 'size' => 190414]];
     $myFile = new UploadedFile('/tmp/phpM0Jr9t', 190414, 0, 'someimage.jpg', 'image/jpeg');
     $expected = ['myfile' => $myFile];
     $uploadedFiles = UploadedFile::createFromGlobal();
     $this->assertEquals($expected, $uploadedFiles);
     $_FILES = ['files' => ['name' => [0 => 'someimage1.jpg', 1 => 'someimage2.jpg'], 'type' => [0 => 'image/jpeg', 1 => 'image/png'], 'tmp_name' => [0 => '/tmp/phpM0Jr9t', 1 => '/tmp/phpMFKe87'], 'error' => [0 => 0, 1 => 0], 'size' => [0 => 190414, 1 => 12124]]];
     $expected = ['files' => [new UploadedFile('/tmp/phpM0Jr9t', 190414, 0, 'someimage1.jpg', 'image/jpeg'), new UploadedFile('/tmp/phpMFKe87', 12124, 0, 'someimage2.jpg', 'image/png')]];
     $uploadedFiles = UploadedFile::createFromGlobal();
     $this->assertEquals($expected, $uploadedFiles);
 }
Example #2
0
 /**
  * Create a request from the superglobal values
  *
  * @return ServerRequest
  */
 public static function createFromGlobal()
 {
     $method = isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : 'GET';
     $stream = fopen('php://input', 'r');
     $streamObject = new Stream($stream);
     $headers = [];
     if (function_exists('apache_request_headers')) {
         $headers = call_user_func('apache_request_headers');
     } else {
         foreach ($_SERVER as $key => $value) {
             if (substr($key, 0, 5) === "HTTP_") {
                 $key = str_replace(" ", "-", ucwords(strtolower(str_replace("_", " ", substr($key, 5)))));
                 $headers[$key] = $value;
             } elseif (strncmp($key, 'CONTENT_', 8) === 0) {
                 $new_key = str_replace(" ", "-", ucwords(strtolower(str_replace("_", " ", $key))));
                 $headers[$new_key] = $_SERVER[$key];
             }
         }
         if (isset($_SERVER['PHP_AUTH_USER'])) {
             $pass = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : '';
             $headers['AUTHORIZATION'] = 'Basic ' . base64_encode($_SERVER['PHP_AUTH_USER'] . ':' . $pass);
         }
     }
     $request = new static($method, Uri::createFromGlobals(), $streamObject, $headers, $_SERVER, $_COOKIE, UploadedFile::createFromGlobal());
     return $request->withQueryParams($_GET)->withParsedBody($_POST);
 }