]> git.somenet.org - fsinf/pub/w2c.git/blob - intern/upload.php
Status ist jetzt ein select. Sable angepasst. OK/ERR besser anzeigen.
[fsinf/pub/w2c.git] / intern / upload.php
1 <?php
2 set_time_limit(900);
3 $max_byte_size = 335544320;
4 $dirname = './upload/';
5 $allowed_types = Array('.jpg', '.jpeg', '.gif', '.bmp', '.png', '.mp3', '.mp4', '.wma', '.txt', '.ogg', '.zip', '.java', '.pdf', '.doc');
6 asort($allowed_types);
7 ?>
8
9 <html><head><title>Upload</title></head><body>
10 <h1>Datei hochladen (intern)</h1>
11 <p>Back to <a href="<?php echo $dirname; ?>">upload-dir</a></p>
12 <p>Allowed types: <b><?php echo  join(', ', $allowed_types);?></b><br>
13 Max filesize: <b><?php echo $max_byte_size.' Byte ('.($max_byte_size/1024/1024).' MB)';?></b><br>
14 Max upload time: <b>900 sec (15 min)</b><br>
15 <form method="POST" enctype="multipart/form-data">
16 <input type="hidden" name="MAX_FILE_SIZE" value="{$max_byte_size}" />
17 <input type="file" name="file" accept="<?php echo join(',', $allowed_types);?>"/><br><br>
18 <input type="submit" name="s" value="Upload" />
19 </form>
20 <?php
21 // Formular wurde abgeschickt
22 if($_POST['s'] == 'Upload') {
23         echo '<h2>Result</h2><p>Zum <a href="'.$dirname.'">upload-verzeichnis</a></p>';
24         if($_FILES['file']['error'] === 0 && is_uploaded_file($_FILES['file']['tmp_name'])) {
25                 if($_FILES['file']['name'][0] == '.'){
26                         echo '<h3>Keine unix-hidden files ;)</h3>';
27
28                 }elseif($_FILES['file']['size'] > $max_byte_size) {
29                         echo '<h3>Datei ist zu groß.</h3>';
30
31                 }elseif(!in_array('.'.pathinfo($_FILES['file']['name'],PATHINFO_EXTENSION), $allowed_types)){
32                         echo '<h3>Dateityp ist nicht erlaubt.</h3>';
33
34                 }elseif(file_exists($dirname.$_FILES['file']['name'])) {
35                         echo '<h3>Datei mit dem namen existiert bereits.</h3>';
36
37                 }elseif(move_uploaded_file($_FILES['file']['tmp_name'], $dirname.str_replace('/','',$_FILES['file']['name']))) {
38                         echo '<h3>Datei erfolgreich hochgeladen!</h3>';
39                         echo 'Name: '.$_FILES['file']['name'].'<br>';
40                         echo 'Link: <a href="'.$dirname.$_FILES['file']['name'].'">'.$_FILES['file']['name'].'</a><br />';
41                 }else{
42                         echo '<h3>Irgendein anderer Fehler (sollte nicht auftreten)</h3>';
43       }
44         }else{
45                 echo '<h3>Keine Datei zum Hochladen angegeben?</h3>';
46         }
47 }
48 ?>
49 </pre></body></html>