gerne 
PHP-Code:
public function uploadAction() {
$uploadform = new Default_Form_PicUpload();
$request = $this->getRequest();
if ($request->isPost()){
print_r($uploadform->getValues());
if($uploadform->isValid($_POST)){
$requestdata = $request->getPost();
if($uploadform->image->isUploaded()){
$uploadform->image->receive();
$source = $uploadform->image->getFileName();
$pic = new Default_Model_GetPicInfos();
$result = $pic->updatePicDb($requestdata,$source);
if($result['success']){
if($result['coords']){
//$this->_redirect('/');
}else{
//$this->_redirect('/index/coords?id='.$result['id']);
}
}
}
}
}
$this->view->uploadform = $uploadform;
}
PHP-Code:
public function init(){
$this->setName('uploadForm');
$this->setAttrib('enctype', 'multipart/form-data');
$this->setAction('/index/upload')->setMethod('post');
$dbdogs = new Default_Model_DbTable_Dogs();
$dogs = $dbdogs->getAll();
$dogdata = array();
$i = 1;
foreach($dogs as $dogy){
$dogdata[$i] = $dogy['name'];
$i++;
}
$dog = new Zend_Form_Element_Select('dog');
$dog->setMultiOptions($dogdata)->setRequired(true)->addValidator('NotEmpty', true)
->setLabel('Which dog do you have?');
$descr = new Zend_Form_Element_Textarea('description');
$descr->setLabel('Tell us your story about the dog:')->setRequired(true)
->setAttrib('COLS', '50')->setAttrib('ROWS', '6');
$image = new Zend_Form_Element_File('image');
$image->setLabel('Choose your image')->setRequired(true)->addValidator('Count', false, 1)
->addValidator('Size', false, 5120000)->addValidator('Extension', false, 'jpg,png,gif');
$check = new Zend_Form_Element_Checkbox('check');
$check->setLabel('Hiermit')->setRequired(true)->addErrorMessage('Sie müssen die Nutzungsbedingungen akzeptieren.') ->addValidator('Identical', false, '1')
->setDecorators(array('ViewHelper', array('Label',array('optionalSuffix' => ':',
'requiredSuffix' => ' stimmen Sie unseren <a href="#" onclick="popup(); return false;" />Nutzungsbedingungen</a> zu!',
'escape'=> false)),
'Description',array('HtmlTag', array('tag' => 'div')),));
$submit = new Zend_Form_Element_Submit('Finish');
$submit->setAttrib('id', 'submitbutton');
$this->addElements(array($dog,$descr,$image, $check,$submit));
}
updatePicDb erstellt thumbnails und verschiebt diese in eine Ordnerstruktur, und liefert wenn gps koordinaten hinterlegt sind success true/false zurück. dann wird eben auf home geleitet oder zu einer Eingabemaske für lat/lon Koordinaten!
Gruß
Lesezeichen