本文實例講述了Zend Framework實現多文件上傳功能的方法。分享給大家供大家參考,具體如下:
第一步:在我們原來教程找到library文件夾..這裡原來是存放我們Zend類庫文件夾的地方..現在我們在library文件夾裡加上如下幾個文件夾:library/Custom/Controller/Plugin/
文件夾我們加入完成.這時候我們就要找到我們的文件上傳的類文件了..這裡我命名為Upload.php文件名..這個文件就是我們將要用到文件上傳的的類文件.當然這文件我是改寫成了Zend Framework裡的插件形式...Upload.php部分文件說明如下,(我這裡只給出部分程序,也就是簡單的多文件上傳類):
<?php class Custom_Controller_Plugin_Upload extends Zend_Controller_Plugin_Abstract { private $uploaddir; //文件上傳存路徑 private $max_files; //一次性最多上傳多少文件 private $max_size; //文件最大量 private $permission; //文件夾是否可以有權限 private $files; private $allowed = array (); //允許上傳文件格式 //不允許上傳文件格式 private $notallowed = array ("exe", "mp3" ); private $filesname; //文件表單name //圖片文件寬度,超過就生成縮略圖 private $imagewidth; //圖片文件高度,超過就生成縮略圖 private $imageheight; public $filearray = array (); //返回多個文件名 public $lastFileName; //返加一個文件名 public $Error; ?>
第二步:在我們以前寫留言本的教程裡..找到當時的控制器..IndexController.php,加入一個名稱叫做upload的動作(Action).這個upload動作就是為了要文件上傳時可以運用..它的詳細程序,如下所示:
public function uploadAction() { echo $this->view->render('header.phtml');//顯示模版頭文件 if(strtolower($_SERVER['REQUEST_METHOD'])=='post'){ Zend_Loader::loadClass('Custom_Controller_Plugin_Upload'); $uploadfile=new Custom_Controller_Plugin_Upload( ROOT_DIR.'/public/upload/','uploadfile','10','2048000', array("gif","png","jpg","bmp","jpeg"),600,600); if(''==$uploadfile->Error){ echo '<div class="commentInner" > 恭喜您,照片上傳成功!請您<a href= "'.$this->view->baseUrl.'/index/index/">點這裡返回</a></div>'; }else{ echo '<div class="commentInner" > 對不起,您照片上傳有以下錯誤:'.$uploadfile->error.'請返回重新上傳!請您 <a href="'.$this->view->baseUrl.'/index/upload/"> 點這裡返回</a></div>'; } } echo $this->view->render('message/upload.phtml');//顯示模版 echo $this->view->render('footer.phtml');//顯示模版腳文件 }
第三步:在我們的View模板文件夾中加入上傳功能Form表單..:這裡我在裡加多加了一個upload.phtml模板文件...為了讓大家更好的看清楚怎樣實現上傳..我只寫一個最簡單的上傳文件表單..這樣實現起來就不會太難...我們只要在這個View模板文件裡..把它的POST的動作指向到我們upload這個動作就可以上傳文件了..
最後.你要的只是輸入你的網站地址..比如我的:http://127.0.0.1/zendframework/index/upload/ 這個只你在上傳表單裡選擇圖片文件..你就可以上傳了..沒有錯的話.你剛上傳的文件會在網站目錄zendframework/public/upload/這個文件夾下面..應試不會有錯..因為我的這裡只控制上傳為圖片文件..你可以改成你自己想要上傳的其它文件..
更多關於zend相關內容感興趣的讀者可查看本站專題:《Zend FrameWork框架入門教程》、《php優秀開發框架總結》、《Yii框架入門及常用技巧總結》、《ThinkPHP入門教程》、《php面向對象程序設計入門教程》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家基於Zend Framework框架的PHP程序設計有所幫助。