我正在尝试使用我的表单上传整个文件夹,从我发现的一些谷歌研究中我发现“webkitdirectory”可以实现。但是,关于如何将此选项添加到内置站点的 CakePHP 表单中似乎没有什么帮助?
我认为如果他们坚持上传整个文件夹(我认为这在网站上不是一个好主意),我可能需要做些什么。是使用标准 html 表单构建而不是使用 CakePHP 助手构建它吗?
关于我如何做到这一点的任何想法?
如果不是,它可能会被添加到新的 CakePHP 版本中!
非常感谢
格伦。
我正在尝试使用我的表单上传整个文件夹,从我发现的一些谷歌研究中我发现“webkitdirectory”可以实现。但是,关于如何将此选项添加到内置站点的 CakePHP 表单中似乎没有什么帮助?
我认为如果他们坚持上传整个文件夹(我认为这在网站上不是一个好主意),我可能需要做些什么。是使用标准 html 表单构建而不是使用 CakePHP 助手构建它吗?
关于我如何做到这一点的任何想法?
如果不是,它可能会被添加到新的 CakePHP 版本中!
非常感谢
格伦。
Form
助手应该能够创建适当的输入字段。这是一些示例代码:
echo $this->Form->input('file', array
(
'type' => 'file',
'name' => 'data[Model][file][]',
// would work too, but the file data would then
// be found in CakeRequest::$params['form']
// 'name' => 'file[]',
'multiple' => true,
'webkitdirectory' => 'webkitdirectory'
));
它将创建以下 HTML:
<div class="input file">
<label for="ModelFile">File</label>
<input type="file" name="data[Model][file][]" multiple="multiple" webkitdirectory="webkitdirectory" id="ModelFile"/>
</div>
注意使用'webkitdirectory' => 'webkitdirectory'
,这是必要的,因为Form
助手不会将webkitdirectory
其识别为布尔属性,即使用true
会导致生成的属性值为1
,这有效,但 AFAIK 实际上是无效的。
另请参阅http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::input