$upload=new Zend_File_Transfer(); $options=array('ignoreNoFile'=>true); $upload->setOptions($options);//如果有需要未上传的“file”表单项,则忽略,如果没有这条语句,则不上传完全,会显示错误 //print_r($upload->getOptions() );//得到$upload的所有选项 $upload->setValidators(array( 'Size'=>array('min' => 20, 'max' => 220000), 'Count'=>array('min'=>1,'max'=>4),//limit files count 'Extension'=>'jpg', )); $upload->addFilter('Rename', array('target'=>"./upload/userimages",//将上传文件更名 'overwrite'=>true,) ); if($upload->isValid()){
$upload->receive(); //$names= $upload->getFileName();//只所以不使用$names,是因为如果只上传一个文件,$names就不是数组,没法得到是哪个file表单项上传的数据 $files = $upload->getFileInfo(); //print_r($files); //print_r($names); $fileName=''; if(isset($files['imageaddress1']) && $files['imageaddress1']['name']){ $fileName=date('YmjHis').rand(1000,9999).rand(100,999); rename("./upload/userimages/".$files['imageaddress1']['name'],"./upload/userimages//".$fileName.".jpg"); $post['imageaddress1']="/upload/userimages/$fileName.jpg";
} if(isset($files['imageaddress2']) && $files['imageaddress2']['name']){ $fileName=date('YmjHis').rand(1000,9999).rand(100,999); rename("./upload/userimages/".$files['imageaddress2']['name'],"./upload/userimages//".$fileName.".jpg"); $post['imageaddress2']="/upload/userimages/$fileName.jpg"; } if(isset($files['imageaddress3']) && $files['imageaddress3']['name']){ $fileName=date('YmjHis').rand(1000,9999).rand(100,999); rename("./upload/userimages/".$files['imageaddress3']['name'],"./upload/userimages//".$fileName.".jpg"); $post['imageaddress3']="/upload/userimages/$fileName.jpg"; } if(isset($files['license']) && $files['license']['name']){ $fileName=date('YmjHis').rand(1000,9999).rand(100,999); rename("./upload/userimages/".$files['license']['name'],"./upload/userimages//".$fileName.".jpg"); $post['license']="/upload/userimages/$fileName.jpg"; } //print_r($names); }else{ $adapter=$upload->getAdapter(false); $messages=$adapter->getMessages(); print_r($messages);//得到错误报告 }
本段程序可以上传多个文件。