Hochgeladene Dateien des Benutzerverzeichnises im Frontend anzeigen
von Marco Simbürger
- Formular für Datei-Upload via Formulargenerator erstellen
- Feld-Typ "Datei-Upload"
- Hochgeladene Dateien speichern
- Benutzerverzeichnis verwenden
- Formular einbinden
- Im Ordner /templates eine html5-Datei erstellen (z.B. show_files.html5)
Folgender Code einfügen:
$this->import('Database');
$result = $this->Database->prepare("SELECT f.path FROM tl_files f INNER JOIN tl_member m ON f.uuid = m.homeDir WHERE m.id=?")->execute($this->replaceInsertTags(''));
$homedir = $result->fetchAssoc();
$handle=opendir($homedir["path"]);
//Delete file
if(\Input::post('file')!=""){
$path=$homedir["path"].'/'.\Input::post('file');
if(file_exists($path)){
unlink($path);
echo 'Die Datei "'.\Input::post('file').'" wurde gelöscht.';
}
else {
echo 'Datei "'.\Input::post('file').'" existiert nicht.';
}
}
//Show files
echo '<ul>';
while ($file = readdir ($handle)) {
if($file!="." && $file!="..")
echo '<li>
<a href="'.$homedir["path"].'/'.$file.'" target="_blank"><img src="'.$homedir["path"].'/'.$file.'" style="height:50px; width:50px;" />'.$file.'</a>
<form action="'.$this->replaceInsertTags('tech-blog/hochgeladene-dateien-des-benutzerverzeichnises-im-frontend-anzeigen.html').'" method="post" enctype="application/x-www-form-urlencoded">
<input type="hidden" name="FORM_SUBMIT" value="deleteFile">
<input type="hidden" name="REQUEST_TOKEN" value="'.$this->replaceInsertTags('').'">
<input type="hidden" name="file" value="'.$file.'"><input type="submit" value="Löschen">
</form>
</li>';
}
echo '</ul>';
closedir($handle);
Die Datei dann auf der entsprechenden Seite via Insert-Tag einfügen:
Kommentare
Einen Kommentar schreiben