我一直在調查這一段時間,不知道它。基本上我爲我的模型添加了一個頁面,您可以從URL或文件上傳中添加地圖。我已經獲得了所有的字段和驗證,但我如何以及在哪裏管理上傳的文件?必須有一些簡單的方法來做到這一點。謝謝!如何在CakePHP中執行基於表單的文件上傳?
3
A
回答
19
首先,您的表單需要設置爲允許上傳文件。
<?php echo $form->create(Model, array('type' => 'file')); ?>
這將允許任何文件輸入到實際文件上傳到你的服務器$form->file(field)
或$form->input(field, array('type' => 'file'))
。
一旦該文件已被上傳你應該處理一切從型號中:
function beforeSave($created) {
extract($this->data[Model][field]);
if ($size && !$error) {
move_uploaded_file($tmp_name, destination);
$this->data[Model][field] = destination;
}
return true;
}
這些只是基礎,所以一定要周圍有一齣戲,找到最適合您需求的解決方案。
0
注意: MeioUploadBehavior已被棄用。相反jrbasso建議Upload Plugin
。
除了已經給出的優良答案之外,我想提示MeioUploadBehavior
,目前由jrbasso at github維護,這對我自己的CakePHP項目幫助很大。
您只需使用$actsAs
字段將行爲添加到模型中,同時指定任何自定義首選項。然後在您的數據庫中創建必要的字段(由提供的文檔詳細描述),或將模型配置爲不使用任何數據庫表。最後在添加頁面中設置表單,也在隨附的文檔中進行描述。這個行爲將會爲你休息。
0
您可以使用Zend組件來處理文件上傳。在我的網站上有一個很好的例子: CakePHP file upload using Zend Components
+0
你好Geo。我對你的博客文章發表了評論。請提及您在示例中使用的CakePHP版本。謝謝。 – 2014-12-05 05:31:06
相關問題
- 1. 用於上傳文件並執行bash命令的HTML表單
- 2. 在cakephp中上傳文件
- 3. 基於Flash的單個文件上傳的基本jQuery插件?
- 4. 用於文件上傳的CakePHP驗證
- 5. Javascript:如何選擇基於上傳文件名的表單選擇選項?
- 6. 我如何在上傳的文件中執行驗證django
- 7. CakePHP/phpunit:如何模擬文件上傳
- 8. CakePHP 2.0 - 基於關係表的訂單
- 9. 如何執行基於IF條件
- 10. 如何在Android中使用Volley執行文件上傳?
- 11. Kendoui上傳執行單個文件上傳每頁負荷
- 12. 在CakePHP 1.3中上傳多個文件
- 13. 如何:Drupal文件上傳表單
- 14. 在CakePHP中提交文件的表單
- 15. 如何執行一個目錄中的所有文件或基於args的單個文件的功能,在python
- 16. 如何在.NET中執行基於時間/計劃的事件?
- 17. 如何在PHP中執行基於事件的操作
- 18. 基於Ajax的文件上傳
- 19. 基於jQuery的多文件上傳
- 20. 如何在laravel中使用相同的表單上傳文件?
- 21. 如何在Django表單中獲取上傳文件的類型?
- 22. 如何執行基於行的分組
- 23. 文件上傳正在執行多次
- 24. 使用CakePHP,如何基於相關表
- 25. CakePHP:如果文件不存在,表單上傳字段的驗證
- 26. 無法上傳文件中的CakePHP 2
- 27. 如何在彙編後執行FTP上傳任務:在Maven中單個執行?
- 28. 僅基於.h文件執行PInvoke
- 29. 如何在Linux上的java文件中執行可執行文件?
- 30. cakephp - 使用cakephp進行多文件上傳的代碼
那個函數名應該是「move_uploaded_file」:) – inkedmn 2009-08-18 12:38:29
啊謝謝,它已經更新了。 textarea不檢查我的語法。 ;) – 2009-08-18 13:15:30
這是我如何做move_uploaded_file函數:move_uploaded_file($ _ FILES ['data'] ['tmp_name'] ['Item'] ['ipath'],「$ destination /".$_ FILES ['data'] [ '名稱'] [ '項目'] [ 'IPATH']); – 2011-09-17 10:04:19