diff --git a/src/Pecee/Http/Input/InputFile.php b/src/Pecee/Http/Input/InputFile.php index 56faef5..c8c09f8 100644 --- a/src/Pecee/Http/Input/InputFile.php +++ b/src/Pecee/Http/Input/InputFile.php @@ -28,7 +28,7 @@ class InputFile implements IInputItem */ public static function createFromArray(array $values) { - if (isset('index', $values) === false) { + if (isset($values['index']) === false) { throw new \InvalidArgumentException('Index key is required'); } diff --git a/src/Pecee/Http/Uri.php b/src/Pecee/Http/Uri.php index 0ab926c..41daf26 100644 --- a/src/Pecee/Http/Uri.php +++ b/src/Pecee/Http/Uri.php @@ -134,7 +134,15 @@ class Uri */ public function parseUrl($url, $component = -1) { - $parts = parse_url(urlencode($url), $component); + $encodedUrl = preg_replace_callback( + '%[^:/@?&=#]+%u', + function ($matches) { + return urlencode($matches[0]); + }, + $url + ); + + $parts = parse_url($encodedUrl, $component); if ($parts === false) { throw new \InvalidArgumentException('Malformed URL: ' . $url);