我使用带有multiupload的表单。我的addAction保存有关数据库中下载文件的信息,并获取数组lastInsrtId()值。如果上传成功,我需要重定向到editAction,用户可以在其中查看下载文件列表,用户可以使用此文件列表编辑每个下载文件的图像的标题,描述和alt属性等文件属性。如何在路径中传递值数组?这是我的代码addAction:
// upload success
$fileIds = $this->getContentService()->makeFiles($parent, $data);
return $this->redirect()->toRoute('sc-admin/file/edit', array('ids' => $fileIds));
以下是应显示要编辑的文件列表的路径的定义:
'edit' => array(
'type' => 'segment',
'options' => array(
'route' => '/edit[/:ids]',
'defaults' => array(
'controller' => 'sc-file',
'action' => 'edit',
),
),
),
但是它会为editAction生成错误
rawurlencode() expects parameter 1 to be string, array given
我不想在传递值数组所需的参数时使用会话,因为它只是路由选择。
答案 0 :(得分:1)
曾见过这个网址吗?
http://foo.bar/baz?array(1=>2,3=>4)
可能不是。您收到错误消息,如错误消息所示。这与Zend Framework有很强的关系,这是基本的PHP(很多人经常忘记核心是什么......)。
array('ids' => serialize($data))