2013-10-08 28 views
0

我试图用我的表单上传整个文件夹,从我发现的一些Google研究中可以找到'webkitdirectory'。但是,如何将该选项添加到我的CakePHP表单中,该表单所在的网站似乎没有什么帮助?将webkitdirectory与CakePHP表单一起使用

我想我可能要做的,如果他们坚持整个文件夹上传(我认为这不是一个好主意在网站上)。要构建的是使用标准的HTML表单,而不是使用CakePHP帮助器来构建它?

关于我如何做到这一点的任何想法?

如果不是这可能是可以添加到新的CakePHP版本中的东西!

非常感谢

格伦。

+0

请始终提及您的确切CakePHP版本!谢谢... – ndm

回答

1

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

+0

非常感谢,在给我一些想法之后,我是否应该尝试这样的事情!我稍后再尝试,并让你知道。另外就像一个侧面说明,我不知道这样做?作为其唯一的webkit支持。如果用户试图用IE浏览器,例如,会给蛋糕/普通PHP任何问题?或者它会简单的不工作在IE中? –

+0

@GlennCurtis不会有任何普通的CakePHP/PHP问题,不支持这些功能的用户代理将继续提供默认的文件上传功能。 – ndm

+0

非常感谢! –

相关问题