<?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