<?php set_time_limit(900); $max_byte_size = 335544320; $dirname = './upload/'; $allowed_types = Array('.jpg', '.jpeg', '.gif', '.bmp', '.png', '.mp3', '.mp4', '.wma', '.txt', '.ogg', '.zip', '.java', '.pdf', '.doc'); asort($allowed_types); ?> <html><head><title>Upload</title></head><body> <h1>Datei hochladen (intern)</h1> <p>Back to <a href="<?php echo $dirname; ?>">upload-dir</a></p> <p>Allowed types: <b><?php echo join(', ', $allowed_types);?></b><br> Max filesize: <b><?php echo $max_byte_size.' Byte ('.($max_byte_size/1024/1024).' MB)';?></b><br> Max upload time: <b>900 sec (15 min)</b><br> <form method="POST" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="{$max_byte_size}" /> <input type="file" name="file" accept="<?php echo join(',', $allowed_types);?>"/><br><br> <input type="submit" name="s" value="Upload" /> </form> <?php // Formular wurde abgeschickt if($_POST['s'] == 'Upload') { echo '<h2>Result</h2><p>Zum <a href="'.$dirname.'">upload-verzeichnis</a></p>'; if($_FILES['file']['error'] === 0 && is_uploaded_file($_FILES['file']['tmp_name'])) { if($_FILES['file']['name'][0] == '.'){ echo '<h3>Keine unix-hidden files ;)</h3>'; }elseif($_FILES['file']['size'] > $max_byte_size) { echo '<h3>Datei ist zu groß.</h3>'; }elseif(!in_array('.'.pathinfo($_FILES['file']['name'],PATHINFO_EXTENSION), $allowed_types)){ echo '<h3>Dateityp ist nicht erlaubt.</h3>'; }elseif(file_exists($dirname.$_FILES['file']['name'])) { echo '<h3>Datei mit dem namen existiert bereits.</h3>'; }elseif(move_uploaded_file($_FILES['file']['tmp_name'], $dirname.str_replace('/','',$_FILES['file']['name']))) { echo '<h3>Datei erfolgreich hochgeladen!</h3>'; echo 'Name: '.$_FILES['file']['name'].'<br>'; echo 'Link: <a href="'.$dirname.$_FILES['file']['name'].'">'.$_FILES['file']['name'].'</a><br />'; }else{ echo '<h3>Irgendein anderer Fehler (sollte nicht auftreten)</h3>'; } }else{ echo '<h3>Keine Datei zum Hochladen angegeben?</h3>'; } } ?> </pre></body></html>