Skip to content

Commit df1eb43

Browse files
jiripudildg
authored andcommitted
RequestFactory: support full_path (#212)
1 parent 7c26b70 commit df1eb43

File tree

2 files changed

+38
-0
lines changed

2 files changed

+38
-0
lines changed

src/Http/RequestFactory.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,7 @@ private function getFiles(): array
218218
'name' => $v['name'][$k],
219219
'type' => $v['type'][$k],
220220
'size' => $v['size'][$k],
221+
'full_path' => $v['full_path'][$k] ?? null,
221222
'tmp_name' => $v['tmp_name'][$k],
222223
'error' => $v['error'][$k],
223224
'@' => &$v['@'][$k],
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?php
2+
3+
/**
4+
* Test: Nette\Http\Request files.
5+
*/
6+
7+
declare(strict_types=1);
8+
9+
use Nette\Http;
10+
use Tester\Assert;
11+
12+
13+
require __DIR__ . '/../bootstrap.php';
14+
15+
16+
// Setup environment
17+
$_FILES = [
18+
'files' => [
19+
'name' => ['a.jpg', 'c.jpg'],
20+
'type' => ['image/jpeg', 'image/jpeg'],
21+
'full_path' => ['a.jpg', 'b/c.jpg'],
22+
'tmp_name' => ['C:\\PHP\\temp\\php1D5D.tmp', 'C:\\PHP\\temp\\php1D5E.tmp'],
23+
'error' => [0, 0],
24+
'size' => [12345, 54321],
25+
],
26+
];
27+
28+
$factory = new Http\RequestFactory;
29+
$request = $factory->fromGlobals();
30+
31+
Assert::type('array', $request->files['files']);
32+
Assert::count(2, $request->files['files']);
33+
Assert::type(Nette\Http\FileUpload::class, $request->files['files'][0]);
34+
Assert::type(Nette\Http\FileUpload::class, $request->files['files'][1]);
35+
36+
Assert::same('a.jpg', $request->files['files'][0]->getUntrustedFullPath());
37+
Assert::same('b/c.jpg', $request->files['files'][1]->getUntrustedFullPath());

0 commit comments

Comments
 (0)