程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> Zend Framework實現多文件上傳功能實例

Zend Framework實現多文件上傳功能實例

編輯:PHP綜合

本文實例講述了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" style="width:860px;text-align:center;">
恭喜您,照片上傳成功!請您<a style="color:red;" href=
"'.$this->view->baseUrl.'/index/index/">點這裡返回</a></div>';
}else{
echo '<div class="commentInner" style="width:860px;text-align:center;">
對不起,您照片上傳有以下錯誤:'.$uploadfile->error.'請返回重新上傳!請您
<a style="color:red;" 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程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved