/** * Get the file component from the request * * @param HTTPRequest $request * @return string */ protected function parseFilename(HTTPRequest $request) { $filename = ''; $next = $request->param('Filename'); while ($next) { $filename = $filename ? File::join_paths($filename, $next) : $next; $next = $request->shift(); } if ($extension = $request->getExtension()) { $filename = $filename . "." . $extension; } return $filename; }
public function testJoinPaths() { $this->assertEquals('name/file.jpg', File::join_paths('/name', 'file.jpg')); $this->assertEquals('name/file.jpg', File::join_paths('name', 'file.jpg')); $this->assertEquals('name/file.jpg', File::join_paths('/name', '/file.jpg')); $this->assertEquals('name/file.jpg', File::join_paths('name/', '/', 'file.jpg')); $this->assertEquals('file.jpg', File::join_paths('/', '/', 'file.jpg')); $this->assertEquals('', File::join_paths('/', '/')); }