<?php
defined ('main') or die ( 'no direct access' );
$title = $allgAr['title'].' :: Upload';
$hmenu = 'Upload';
$design = new design ( $title , $hmenu );
$design->header();
//Options
$uploadordner = "include/downs/uploads/"; //Order für Uploads
$extlimit = "yes"; //Do you want to limit the extensions of files uploaded, yes or no?
$limitedext = array('.amx' , '.pwn' , '.rar' , '.zip'); //Extensions you want files uploaded limited to.
$sizelimit = "yes"; //Do you want a size limit, yes or no?
$sizebytes = "1000000"; //size limit in bytes
$right = -1; //Recht ab dem das Verzeichnis sichtbar ist
$upl_right = -4; //Recht ab dem User etwas hochladen können
//Options End
//Bei PHP4 auskommentieren
/*function scandir($dir){
$dh = opendir($dir);
while (false !== ($filename = readdir($dh))) $files[] = $filename;
sort($files);
return $files;
}*/
function short_string($string,$len=20)
{
if (strlen($string) <= $len) return $string;
else {
$len = floor($len/2);
$string = substr($string,0,$len-3).'...'.substr($string,$len*-1);
return $string;
}
}
if ($_SESSION['authright'] <= $upl_right) {
$server = 'http://'.$_SERVER['HTTP_HOST'].str_replace('index.php','',$_SERVER['PHP_SELF']);
//Upload
if(!empty($_FILES['file']['name'])) {
if (!file_exists($uploadordner)) {
mkdir($uploadordner,0744) or die('Konnte kein Verzeichnis erstellen');
}
if (($sizelimit == "yes") && ($_FILES['file']['size'] > $sizebytes)) {
echo "Die Datei ist zu groß, sie darf maximal $sizebytes bytes sein.";
}
$ext = strrchr($_FILES['file']['name'],'.');
$fname = escape($_FILES['file']['name'],'string');
$fname = str_replace(' ','',$fname);
if (($extlimit == "yes") && (!in_array(strtolower($ext),$limitedext))) {
echo "Der Dateiname hat eine nicht erlaubte Endung.";
}
//falls im Ordner der Name der Datei schon existiert, dann soll eine Fehlermeldung kommen.
elseif (file_exists($uploadordner.$fname)) {
echo "Der Dateiname existiert bereits. Bitte ändere deinen Dateinamen und versuche es nochmal.";
}
//ansonsten wird die Datei im Ordner images kopiert
elseif ( move_uploaded_file($_FILES['file']['tmp_name'], $uploadordner.$fname) ){
//chmod($uploadordner.$fname, 0755);
$link = $server.$uploadordner.$fname;
echo '<br />Link zu deiner Datei ist: <a href="'.$link.'">'.short_string($link,70).'</a><br /><br />';
}
}
?>
<form name="mf" action="index.php?upload" method="post" enctype="multipart/form-data" style="border-style:dotted; border-width:medium; border">
<table>
<tr><td>Datei auswählen:</td><td><input type="file" name="file" value="durchsuchen"></td></tr>
<tr><td><input type="submit" name="senden" value="Datei hochladen"></td></tr>
</table>
</form><br />
<?
//Datei löschen
if ($menu->getA(1) == 'd' AND $_SESSION['authright'] <= -8) {
$files = scandir($uploadordner);
$filenr = $menu->getE(1) + 3;
$del = unlink($uploadordner.$files[$filenr]);
if ($del == TRUE) echo "Datei <b>{$files[$filenr]}</b> erfolgreich gelöscht<br />";
else "Datei {$files[$menu->getE(1)]} konnte nicht gelöscht werden<br />";
}
}
if ($_SESSION['authright'] <= $right) {
//Verzeichnisinhalt auflisten
if (file_exists($uploadordner)) {
$files = array_slice(scandir($uploadordner),3);
echo "<b>Dateien in deinem Verzeichnis <a href=\"$server$uploadordner\">".short_string($server.$uploadordner,70)."</a>:</b>
<table width=\"100%\">
<tr class=\"Chead\" align=\"center\"><th>Dateien</th><th width=\"70\">Größe</th><th width=\"50\">Löschen</th></tr>";
foreach ($files as $filenr => $file)
echo "<tr class=\"Cnorm\"><td><a href=\"$server$uploadordner$file\">".short_string($file,43)."</a></td><td align=\"right\">".round(filesize($uploadordner.$file)/1024,1)."K</td><td align=\"center\">".($_SESSION['authright']<=-8?"<a href=\"?upload-d$filenr\"><img src=\"include/images/icons/del.gif\" alt=\"Löschen\" border=\"0\" \></a>":'');
echo "</table>";
}
else echo 'Verzeichnis ist leer.<br />';
}
else
echo 'Diese Funktion steht für dich nicht zur Verfügung!<br />';
$design->footer(); ?>
Ich hoffe, dass ich keine Fehler beim Anpassen gemacht habe.
Zuletzt modifiziert von Mairu am 05.08.2007 - 13:05:57