2013-10-08 46 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

非常感謝! –

相關問題