<?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(".gif",".jpg",".png",".jpeg",".bmp",".JPG"); //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 = -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 dir_access($dir,$mode='none'){
switch ($mode){
case 'none':
if (file_exists($dir.'.htaccess')) {
$file = fopen($dir.'.htaccess','r') or die('Kann Datei .htaccess nicht öffnen');
$line = fread($file,1024);
fclose($file);
if (preg_match("/\+Indexes/",$line) == 1) return (TRUE);
else return (FALSE);
}
else return (FALSE);
break;
case 'give':
$file = fopen($dir.'.htaccess','w+') or die('Kann Datei .htaccess nicht öffnen');
fwrite($file,"Options +Indexes\n");
fclose($file);
break;
case 'remove':
$file = fopen($dir.'.htaccess','w+') or die('Kann Datei .htaccess nicht öffnen');
fwrite($file,"Options -Indexes\n");
fclose($file);
break;
}
}
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 (loggedin() AND $_SESSION['authright'] <= $right) {
$name = escapeshellcmd($_SESSION['authname']);
$uploadordner .= $name.'/';
if (file_exists($uploadordner) AND !file_exists($uploadordner.'.htaccess')) dir_access($uploadordner,'remove');
$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');
dir_access($uploadordner,'remove');
}
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($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 height="27"><input type="submit" name="senden" value="Datei hochladen"></td></tr>
</table>
</form><br />
<?
//Datei löschen
if ($menu->getA(1) == 'd') {
$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 />";
}
//Verzeichnissichtbarkeit ändern
if ($menu->getA(1) == 'c') {
dir_access($uploadordner,($menu->getE(1) == 0 ? 'give' : 'remove'));
}
//Verzeichnisinhalt auflisten
if (file_exists($uploadordner)) {
$files = array_slice(scandir($uploadordner),3);
$dirvis = (dir_access($uploadordner) == TRUE ? 1 : 0);
echo "<b>Dateien in deinem Verzeichnis <a href=\"$server$uploadordner\">".short_string($server.$uploadordner,70)."</a>:</b>
Verzeichnis ist <a href=\"?upload-c$dirvis\">".($dirvis == 1 ? '' : 'nicht')." sichtbar</a> für alle.<br />
<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\"><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(); ?>
Wenn ich das Bild erfolgreich hochlader gibt er mir zurück:
Dateien in deinem Verzeichnis http://localhost/ilch/include/downs/uploads/admin/: Verzeichnis ist nicht sichtbar für alle.
So ich will aber dass er mir den BBcode vom dem Bild auspuck also in diesem Falle
["img"]http://localhost/ilch/include/downs/uploads/admin/bild.gif["/img"]
in meinem Fall heißt das Bild eben "bild" und hat die endung gif
hab es zwar probiert allerdings nicht geschafft.
mich interessiert nähmlich nicht ob das Verzeichnis geschützt ist oder nicht das einzige was mich interessiert ist der BBcode^^
und dann zeigt es noch an:
Link zu deiner Datei ist: localhost/ilch/include/downs/uploads/admin/erstentwurf.gif
oberhalb vom uploader das kann man lassen und darunter gleich den bbcode schreiben nur den rest das. Die Datei soll geschützt werden oder so interessiert mich nicht.
Zuletzt modifiziert von Thumbnail am 14.07.2007 - 18:31:40


