Comments (9)
Please write snippet of code to reproduce bug.
from http.
Nette\Http\RequestFactory
BUG
start line 148
foreach ($list as &$v) {
if (!isset($v['name'])) {
continue;
} elseif (!is_array($v['name'])) {
if (!$this->binary && (!preg_match($reChars, $v['name']) || preg_last_error())) {
$v['name'] = '';
}
if ($v['error'] !== UPLOAD_ERR_NO_FILE) {
$v['@'] = new FileUpload($v);
}
continue;
}
foreach ($v['name'] as $k => $foo) {
if (!$this->binary && is_string($k) && (!preg_match($reChars, $k) || preg_last_error())) {
continue;
}
$list[] = [
'name' => $v['name'][$k],
'type' => $v['type'][$k],
'size' => $v['size'][$k],
'tmp_name' => $v['tmp_name'][$k],
'error' => $v['error'][$k],
'@' => &$v['@'][$k],
];
}
}
NO BUG
while (list(, $v) = each($list)) {
if (!isset($v['name'])) {
continue;
} elseif (!is_array($v['name'])) {
if (!$this->binary && (!preg_match($reChars, $v['name']) || preg_last_error())) {
$v['name'] = '';
}
if ($v['error'] !== UPLOAD_ERR_NO_FILE) {
$v['@'] = new FileUpload($v);
}
continue;
}
foreach ($v['name'] as $k => $foo) {
if (!$this->binary && is_string($k) && (!preg_match($reChars, $k) || preg_last_error())) {
continue;
}
$list[] = [
'name' => $v['name'][$k],
'type' => $v['type'][$k],
'size' => $v['size'][$k],
'tmp_name' => $v['tmp_name'][$k],
'error' => $v['error'][$k],
'@' => &$v['@'][$k],
];
}
}
Is it correctly written?
from http.
I don't understand. What is wrong? It produces invalid (or different) output? For which input (ie. $_FILES
)?
from http.
I'm sorry, but I don't know exactly how to describe it properly.
When I upload file by input file multiple and after submitted using dump, output is:
files => array (1)
| 0 => NULL
but I changing the line 148 to
while (list(, $v) = each($list))
output is:
files => array (1)
| 0 => Nette\Http\FileUpload
Is it clear?
from http.
dump global variable $_FILES
from http.
array (1)
files => array (5)
| name => array (1)
| | 0 => "1a.jpg" (6)
| type => array (1)
| | 0 => "image/jpeg" (10)
| tmp_name => array (1)
| | 0 => "D:\Program Files\xampp\tmp\phpCB54.tmp" (38)
| error => array (1)
| | 0 => 0
| size => array (1)
| | 0 => 10979
from http.
can you dump it as var_export($_FILES)
?
from http.
array ( 'files' => array ( 'name' => array ( 0 => '1a.jpg', ), 'type' => array ( 0 => 'image/jpeg', ), 'tmp_name' => array ( 0 => 'D:\Program Files\xampp\tmp\php116.tmp', ), 'error' => array ( 0 => 0, ), 'size' => array ( 0 => 10979, ), ), )
from http.
It seems like bug in PHP 5, fixed
from http.
Related Issues (20)
- Unable to extend UrlScript HOT 2
- Creating array property in SessionSection has no effect HOT 1
- Feature request: fight against Google FLoC
- IRequest::setCookie does mot match Request::setCookie HOT 1
- UrlImmutable should implement static get() method HOT 5
- Session id handler HOT 4
- Allow hostname in http > proxy
- Allow disabling same-site cookie
- Invalid session configuration option 'readAndClose'
- Notices are ignored on session_start() HOT 4
- SessionSection::setExpiration checks session's expiration, but session may not be started yet -> warning HOT 2
- IRequest::getFile does mot match Request::getFile
- If website has nginx restricted access by `auth_basic_user_file` $httpRequest->getUrl()->getAbsoluteUrl() returns path with auth parameters included HOT 1
- Call request->getRemoteHost() can cause to stuck app HOT 2
- Unfortunate crossover of `HTTP_HOST` and `SERVER_PORT` variables HOT 3
- Htmlspecialchars for this? HOT 1
- Unable to set 'session.gc_maxlifetime'
- Error: Call to undefined function Nette\Http\imagetypes() HOT 5
- setCookie() expire type issue HOT 2
- Calling __toString() on FileUpload class directly can often result in type/uninitialized typed property error HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from http.