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:
<form method="post" enctype="multipart/form-data">
<label for="name">Name:</label>
<input type="text" name="name" /> <br />
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<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:
$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