$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);//得到错误报告
}
本段程序可以上传多个文件。