Fileupload im Backend
| Autor | Nachricht |
|---|---|
|
Verfasst am: 14. 01. 2009 [18:11]
|
|
|
tomsen81
Themenersteller
Dabei seit: 14.05.2008
Beiträge: 17
|
Hallo zusammen, nach einer ca. vierstündiger Recherche im Internet hab ich leider immer noch keine Lösung für mein - prinzipell recht einfaches - Problem gefunden: Ein Datei-Upload in einer eigenen Extension (Web-Modul, nicht über TCA)! Das Problem ist, dass ein ganz normales, selbstgebasteltes Formular im Backend anscheinend nicht auf den $_FILES Array zugreifen kann. Hier mein Script, welches in einer anderen Testumgebung (außerhalb von Typo3) funktioniert: PHP <form method="post" enctype="multipart/form-data"> <label for="name">Name:</label> <input type="text" name="name" /> <label for="file">Filename:</label> <input type="file" name="file" id="file" /> <input type="submit" name="submit" value="Submit" /> </form> Hier kann ich wunderbar auf $_FILES zugreifen. Verwende ich diesen Code in der Extension, erscheint die Dateivariable im $_POST-Array und nicht, wie es sein sollte, in $_FILES. Kennt jemand das Problem und weiß, wie es behoben werden kann? Die zweite Methode war der Weg über TCEForm. Hier mein Code: PHP $config['itemFormElName'] = 'pFile';
$config['itemFormElValue'] = $fileData ? $fileData : ' ';
$config['fieldConf']['config']['internal_type'] = 'file';
$config['fieldConf']['config']['allowed'] = 'PDF';
$config['fieldConf']['config']['disallowed'] = '';
$config['fieldConf']['config']['size'] = '1';
$config['fieldConf']['config']['show_thumbs'] = 0;
$config['fieldConf']['config']['uploadfolder'] = 'uploads/dev_intra/';
$form = t3lib_div::makeInstance('t3lib_TCEforms');
$form->initDefaultBEMode();
$form->backPath='../../../../typo3/';
$this->content .= $this->doc->form = '<form method="post" name="editform">';
$elements = $form->getSingleField_typeGroup('', '',array(), $config );
$this->content .= $form->printNeededJSFunctions_top().$elements.$form->printNeededJSFunctions();Hier war das Problem, dass sich der Browser zwar geöffnet hat, aber nachdem ich die gewünschte Datei ausgewählt hab, sie nicht wie erwartet im Select erschienen ist. Was mir hier aufgefallen ist: die eingefügten JavaScripts waren beide hinter dem Formular, ganz egal, wie ich die Stringverknüpfung sortiert hab. Wäre super, wenn mir hier jemand helfen könnte, da diese Datei-Geschichte das letzte Teil im Puzzle ist! Vielen Dank vorab! Tom |
|
Verfasst am: 14. 01. 2009 [18:17]
|
|
|
meckpo
Dabei seit: 12.12.2006
Beiträge: 126
|
Hallo, ja dieses Problem kann einen in den Wahnsinn treiben Bei einem Modul ist standardmäßig bereits ein <FORM>-Tag geöffnet, danach wird erst dein Code eingefügt. Kurz gesagt: Beginne deinen HTML-Code einfach mit einem SCHLIESSENDEN </form>. Jaja, kannst du glauben. Ich mein das wirklich so. Besten Gruss
Martin Neumann www.die-internet-werkstatt.de |
|
Verfasst am: 14. 01. 2009 [18:20]
|
|
|
just2b
Moderator
Dabei seit: 04.08.2004
Beiträge: 19047
|
oder man löscht die betrffende zeile georg => TYPO3 - inspiring people to share <= aber kein Support per PM!
=> in eigener Sache: · inspiring people to share your location Trag dich in die TYPO3 Weltkarte ein und zeige wie groß die TYPO3 Community ist - vielen Dank!<= |
|
Verfasst am: 14. 01. 2009 [18:32]
|
|
|
tomsen81
Themenersteller
Dabei seit: 14.05.2008
Beiträge: 17
|
Das nenn ich ja mal eine promte Hilfe! Habs gleich ausprobiert und es funktioniert (erste Variante)! @just2b: könntest du mir bitte noch verraten, wo die betreffende Zeile drinsteht? Auf jeden Fall habt ihr mir sehr geholfen! Grüße Tom |
|
Verfasst am: 14. 01. 2009 [18:34]
|
|
|
just2b
Moderator
Dabei seit: 04.08.2004
Beiträge: 19047
|
such einfach nach form georg => TYPO3 - inspiring people to share <= aber kein Support per PM!
=> in eigener Sache: · inspiring people to share your location Trag dich in die TYPO3 Weltkarte ein und zeige wie groß die TYPO3 Community ist - vielen Dank!<= |
|
Verfasst am: 14. 01. 2009 [18:36]
|
|
|
tomsen81
Themenersteller
Dabei seit: 14.05.2008
Beiträge: 17
|
Alles klar, habs gefunden. Dachte nicht, dass es in der gleichen Datei ist. Danke! |



