ich habe mal ein klaines Download Modul geschrieben welches Dateien aus dem Stammordner des DBFS auliest, nach ID's sortiert und dann mit Icons, Name, Beschreibung und Größe in einer Tabelle ausspuckt.
Zur Zeit ist es sehr einfach gehalten und wird noch weiterentwickelt. Anregungen und Hilfe ist Willkommen !
Ein Zip Archiv mit den Icons findet ihr hier:
http://www.marcelbensch.de/upload/downloads/icons.zip
Das Modul hat nur einen Output Bereich da es zur Zeit ja lediglich die Dateien ausliest:
Output:
Code: Alles auswählen
<?php
/*****************************************************************************\
* Downloadmodul für Datenbanksystem
* -------------------------------------------------------------------------
* written by : Marcel Bensch @: info@marcelbensch.de
* last modified : 2007-22-04
\*****************************************************************************/
$fileicon = array(
'*' => 'images/file.gif',
'bz2' => 'images/rarfile.gif',
'c' => 'images/cfile.gif',
'cpp' => 'images/cppfile.gif',
'doc' => 'images/docfile.gif',
'exe' => 'images/exefile.gif',
'h' => 'images/hfile.gif',
'htm' => 'images/htmfile.gif',
'html' => 'images/htmfile.gif',
'gif' => 'images/imgfile.gif',
'gz' => 'images/zipfile.gif',
'jpg' => 'images/imgfile.gif',
'js' => 'images/jsfile.gif',
'm' => 'images/mfile.gif',
'mp3' => 'images/mpgfile.gif',
'mpg' => 'images/mpgfile.gif',
'pdf' => 'images/pdffile.gif',
'png' => 'images/imgfile.gif',
'ppt' => 'images/pptfile.gif',
'rar' => 'images/rarfile.gif',
'swf' => 'images/swffile.gif',
'txt' => 'images/txtfile.gif',
'xls' => 'images/xlsfile.gif',
'zip' => 'images/zipfile.gif',
);
// Datenbank abfragen ----------------------------------
$sql = "SELECT filename, description, filetype, size, dirname FROM con_upl WHERE dirname = 'dbfs:/' OR dirname LIKE 'dbfs:/%' OR dirname = 'downloads/' OR dirname LIKE 'downloads/%' ORDER BY idupl";
$db->query($sql);
//Tabelle und Header generieren ------------------------
echo '<table width="600" cellspacing="5"><tr style="color:white; background-color:#00377d; font-face:verdana; size: 10pt; font-weight:bold;">
<td> Typ </td>
<td> Name </td>
<td> Beschreibung </td>
<td> Größe </td>
</tr>';
// Tabelle mit Daten füllen ---------------------------
while ($db->next_record()) {
$filename = $db->f('filename');
$description = $db->f('description');
$description = urldecode($description);
$filetype = $db->f('filetype');
$size_ = $db->f('size');
$size = round($size_/1000, 2);
$dir = $db->f('dirname');
if ($size >= 1000) { $size = round($size/1000, 2); $printsize = $size.' MB'; }
else { $printsize = $size.' kb';}
if ($dir == 'dbfs:/') {
$linktarget = 'dbfs.php?file=dbfs:/';
} else { $linktarget = 'uploads/'.$dir; }
echo '<tr><td valign="top"><img src="'.$fileicon[$filetype].'"/></td>
<td valign="top"><a href="'.$linktarget.$filename.'">'.$filename.'</a></td>
<td valign="top">'.$description.'</td>
<td valign="top">'.$printsize.'</td> ',"\n";
}
echo '</tr></table>';
$db->free();
?>
Wayfearer
------------------- EDIT ------------------------------
Geänderte Version 1.1:
- Listet jetzt auch Downloads aus dem Verzeichnis uploads/download auf (Wegen Problem bei Dateien über 8 MB - diese können hier platziert werden)
- Problem bei der Ausgabe von Dateibeschreibung behoben
- Dateigröße wird Variabel in kb oder MB angegeben
------------------- EDIT 2 ------------------------------
Geänderte Version 1.2:
- Listet jetzt alle Downloads aus upload/Download auf auch welche, die in einem Unterverzeichnis von Downloads liegen.
- Verzeichniserkennung verbessert