mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-03 22:32:40 +08:00
This commit is contained in:
committed by
Alexander Makarov
parent
b5be47321b
commit
3221ab0769
@ -4,6 +4,7 @@ Yii Framework 2 Change Log
|
|||||||
2.0.16 under development
|
2.0.16 under development
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
|
- Bug #15683: Fixed file as array uploading in MultipartFormDataParser (Groonya)
|
||||||
- Bug #16822: Create config dir recursively in message/config (Groonya)
|
- Bug #16822: Create config dir recursively in message/config (Groonya)
|
||||||
- Bug #16580: Delete unused php message files in MessageController if `$removeUnused` option is on (Groonya)
|
- Bug #16580: Delete unused php message files in MessageController if `$removeUnused` option is on (Groonya)
|
||||||
- Bug #16022: Fix UniqueValidator for PostgreSQL. Checks the uniqueness of keys in `jsonb` field (lav45)
|
- Bug #16022: Fix UniqueValidator for PostgreSQL. Checks the uniqueness of keys in `jsonb` field (lav45)
|
||||||
|
|||||||
@ -320,7 +320,8 @@ class MultipartFormDataParser extends BaseObject implements RequestParserInterfa
|
|||||||
$namePart = trim($namePart, ']');
|
$namePart = trim($namePart, ']');
|
||||||
if ($namePart === '') {
|
if ($namePart === '') {
|
||||||
$current[] = [];
|
$current[] = [];
|
||||||
$lastKey = array_pop(array_keys($current));
|
$keys = array_keys($current);
|
||||||
|
$lastKey = array_pop($keys);
|
||||||
$current = &$current[$lastKey];
|
$current = &$current[$lastKey];
|
||||||
} else {
|
} else {
|
||||||
if (!isset($current[$namePart])) {
|
if (!isset($current[$namePart])) {
|
||||||
|
|||||||
@ -129,6 +129,23 @@ class MultipartFormDataParserTest extends TestCase
|
|||||||
$this->assertEquals(UPLOAD_ERR_INI_SIZE, $_FILES['thirdFile']['error']);
|
$this->assertEquals(UPLOAD_ERR_INI_SIZE, $_FILES['thirdFile']['error']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testUploadFileAsArray(){
|
||||||
|
$parser = new MultipartFormDataParser();
|
||||||
|
|
||||||
|
$boundary = '---------------------------22472926011618';
|
||||||
|
$contentType = 'multipart/form-data; boundary=' . $boundary;
|
||||||
|
$rawBody = "--{$boundary}\nContent-Disposition: form-data; name=\"someFile[]\"; filename=\"some-file.txt\"\nContent-Type: text/plain\r\n\r\nsome file content";
|
||||||
|
$rawBody .= "--{$boundary}--";
|
||||||
|
|
||||||
|
$parser->parse($rawBody, $contentType);
|
||||||
|
|
||||||
|
$this->assertNotEmpty($_FILES['someFile']);
|
||||||
|
$this->assertEquals(UPLOAD_ERR_OK, $_FILES['someFile']['error'][0]);
|
||||||
|
$this->assertEquals('some-file.txt', $_FILES['someFile']['name'][0]);
|
||||||
|
$this->assertEquals('text/plain', $_FILES['someFile']['type'][0]);
|
||||||
|
$this->assertStringEqualsFile($_FILES['someFile']['tmp_name'][0], 'some file content');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @depends testNotEmptyPost
|
* @depends testNotEmptyPost
|
||||||
* @depends testNotEmptyFiles
|
* @depends testNotEmptyFiles
|
||||||
|
|||||||
Reference in New Issue
Block a user