2013-03-11 42 views
1

我一直在困擾並尋找一個解決方案很長一段時間了。CakePHP - 管理多個文件上傳字段並正確處理它們

我正在計劃CakePHP假期的優惠數據庫。數據關係正常工作到這一點。現在我有一個面具「添加報價」裏應該有可能在不同領域中上傳多個圖像,例如有那些可用:

Name: 
Location: 
Image 1: 
Image 2: 
Image 3: 
Image 4: 

我將如何處理所提供的每個字段文件上傳並將其插回到數據庫的正確字段中?我想過一個多重上傳領域,但客戶不希望這樣。有開關盒的解決方案嗎?

任何意見將不勝感激。

回答

2

只需創建多個字段,如客戶端問。

但將它們作爲一個數組存儲在$this->data中,但要進行以下操作。

echo $this->Form->input('image.' , array('type' => 'file' , 'label' => 'image 1')); 
echo $this->Form->input('image.' , array('type' => 'file' , 'label' => 'image 2')); 

當你pr($this->data)你會得到類似下面

Model => { 
image => { 
[1] =>{image info error etc} 
[2] =>{image info error etc} 
}} 
+0

感謝您的回覆,不要像

後忘了點現在。我將如何將它們存儲在我的數據庫的正確字段中。我不太適合cakephp,所以我很難理解:(你能提供一個例子嗎? – Dreshar 2013-03-11 16:22:07

+0

假設你有一個正確構建的數據庫,你應該在'$ this-> data ['model' ] ['image']'併爲每張圖片上傳它,然後你將存儲在數據庫的一個單獨的表格中並且鏈接到它,你還將在該行中存儲一個外鍵,指向該圖像的所有者如果你想知道如何設計一個合適的數據庫,請告訴我,你應該在另外一個問題中提出這個問題,或者對它進行更多的研究 – 2013-03-11 16:52:09

+0

使用'$ this-> Form-> input('Model.0。字段',數組('type'=>'file');' – kicaj 2013-03-19 12:33:13