z.B. in der createAction des AdsControllers: $adsForm = new Form_AdsForm(); $adsForm->setAction('/ads/create'); $adsForm->setMethod('post'); $this->view->setEncodin
z.B. in der createAction des AdsControllers:
$adsForm = new Form_AdsForm();
$adsForm->setAction('/ads/create');
$adsForm->setMethod('post');
$this->view->setEncoding('UTF-8');
if ($this->getRequest()->isPost()) {
if ($adsForm->isValid($_POST)) {
$adsModel = new Model_Ads();
/**
* Rename action für image-Upload
* @var unknown_type
*/
// Transferadapter fuer das Bild-Element erzeugen
$adapter = $adsForm->getElement('image')->getTransferAdapter();
$name = $adapter->getFileName('image');
// Zufallstoken erstellen (ohne Punkte...)
$uniqueToken = str_replace(".","",uniqid(mt_rand(), true));
// OriginalNamen holen fuer Extension
$origname = basename($adsForm->image->getFileName());
$path = "images/upload";
//if (isset($identity->id)) $path .= "/". $identity->id; // kann keine Sub-Dirs anlegen
// neuen Dateinamen aus Pfad, Zufallstoken und Orig-Extension erstellen
$filename = $path. "/". $uniqueToken. substr($origname, strrpos($origname, '.'));
// Rename-Filter setzen
$adapter->addFilter('Rename', array('target' => $filename, 'overwrite' => false));
// Bild hochladen, im Fehlerfall Errorcode zum Formular hinzufuegen
if (!$adapter->receive()) {
$adsForm->addError($adapter->getMessages());
}
... weitere Formulardatenverarbeitung u. redirect etc...