Alle Einstellungen für einen Upload-Vorgang werden mittels TypoScript vorgenommen. Liegt für einen TYPO3-Domain-Eintrag keine entsprechende TypoScript-Konfiguration vor, wird eine Fehlermeldung angezeigt.
Die Verwendung von TypoScript für die Konfiguration des Upload-Vorgangs hat den Vorteil, dass wir flexibel auf die Konfiguration zukünftiger Upload-Dienste reagieren können, ohne dass eine Zeile PHP geschrieben oder geändert werden muss. Für den Upload-Dienst „staticUpload: SCP“ könnte die TypoScript-Konfiguration in etwa so aussehen:
0: service.staticUpload {
1: www_example_com {
2: server = www.example.com
3: username = root
4: path_to_php = /usr/bin
5: path_to_scp = /usr/bin
6: options = -i /var/lib/wwwrun/.ssh/www.example.com_dsa
7: local_dir = /srv/www.local.example.com/htdocs/publish/*
/srv/www.local.example.com/htdocs/fileadmin
/srv/www.local.example.com/htdocs/uploads
/srv/www.local.example.com/htdocs/typo3temp
8: remote_dir = /srv/www.example.com/htdocs
9: logfile_dir = /tmp
10: service = scp
11: email = john.doe@example.com
12: }
13: }
Listing 1
Schwierigkeiten
Gerade bei der Verwendung von TypoScript zu Konfigurationszwecken sind wir auf einige Schwierigkeiten gestoßen, die an dieser Stelle noch gesondert behandelt werden sollen, zumal ähnliche Fragestellungen des Öfteren auf diversen TYPO3-Mailinglisten auftauchen. Besonders wichtig ist darunter die Einbindung der richtigen PHP-Klassen:
1: // DEFAULT initialization of a module [BEGIN]
2: unset($MCONF);
3: require ('conf.php');
4: require ($BACK_PATH.'init.php');
5: // DEFAULT initialization of a module [END]
6:
7: require_once( t3lib_extMgm::extPath('dkd_staticupload') .
'mod1/class.tx_dkdstaticupload_module1.php' );
8:
9: // TimeTrack'ing is needed e.g. by t3lib_TStemplate
10: require_once(PATH_t3lib.'class.t3lib_timetrack.php');
11:
12: $TT = new t3lib_timeTrack;
13: $TT->start();
14: $TT->push('','Script start (dkd_staticupload/mod1)');
15:
16:
$GLOBALS['LANG']->includeLLFile('EXT:dkd_staticupload/mod1/locallang.php');
17:
18: // Make instance:
19: $SOBE = t3lib_div::makeInstance('tx_dkdstaticupload_module1');
20: $SOBE->init();
21: $SOBE->main();
22: $SOBE->printContent();
23:
24: $TT->pull();
Listing 2
In der Datei „class.tx_dkdstaticupload_module1.php“ haben wir folgende Klassen eingebunden:





![TYPO3: 10 Jahre in 60 Sekunden zusammengefasst [Video]](http://t3n.de/uploads/t3n-news-post-361575_typo3_medium.jpg)

