Mit Hilfe dieses Scriptes können Dateien in ein definiertes Verzeichnis hoch geladen werden.
Das Verzeichnis sollte natürlich beschreibbar sein (chmod 0777).

Genug der vielen Worte, hier das Script.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<?php
if (isset($_GET['admin']) && $_GET['admin'] == 'unlink') {
    $pastebin = explode(',', $_GET['admin']);

    /**
     * Hier bitte das richtige Verzeichnis angeben
     */

    unlink('pastebin/files/' . $pastebin['1']);
}

/**
 * Berechnung der Dateigröße
 *
 * @param $URL - Pfad zur Datei
 * @return Dateigröße
 */

function Dateigroesse($URL) {
    $Groesse = filesize($URL);

    if ($Groesse < 1000)     {
        return number_format($Groesse, 0, ",", ".")." B";
    } elseif ($Groesse < 1000000) {
        return number_format($Groesse/1024, 0, ",", ".")." kB";
    } else {
        return number_format($Groesse/1048576, 1, ",", ".")." MB";
    }
}

echo '<div class="moduleTopic textCenter"><p>Dateiupload</p>' . "\n";
echo '<div id="description">' . "\n";
echo'<form class="formularUpload" action="' . $_SERVER['PHP_SELF'] . '" method="post" enctype="multipart/form-data">
        <input type="hidden" name="MAX_FILE_SIZE" value="2097152"/>
        <div class="fileinputs">
            <input type="file" name="dateiname[0]" />
        </div>
        <div class="fileinputs">
            <input type="file" name="dateiname[1]" />
        </div>
        <div class="fileinputs">
            <input type="file" name="dateiname[2]" />
        </div>
        <input type="submit" name="abschicken" value="Upload" />
    </form>'
. "\n";

if (isset($_POST["abschicken"])) {
    for($i=0; $i<count ($_FILES['dateiname']['tmp_name']); $i++) {
        $dateiname = $_FILES['dateiname']['name'][$i];
        $tmp_name = $_FILES['dateiname']['tmp_name'][$i];

        if (!isset($dateiname)) {
            continue;
        }

        if(!is_uploaded_file($tmp_name)) {
            switch ($_FILES['dateiname']['error']) {
                case 1:
                    echo 'Fehler!<br><ul><li>Die Datei überschreitet die maximale Größe von 2 Megabytes.' . "\n";
                    break;

                case 2:
                    echo 'Fehler!<br /><ul><li>Die Datei überschreitet die maximale Größe von ' . $_POST['MAX_FILE_SIZE'] . ' Bytes.' . "\n";
                    break;

                case 3:
                    echo 'Fehler!<br /><ul><li>Die Datei wurde nur teilweise übertragen.' . "\n";
                    break;

                case 4:
                    echo 'Fehler!<br /><ul><li>Sie haben vergessen, die zu überspielende Datei anzugeben.' . "\n";
                    break;
            }
            continue;
        }

        /**
         * $uploadverzeichnis   => Das Verzeichnis in das die Dateien geladen werden sollen
         * $uploadname          => Kompletter Pfad zur Datei
         */

        $uploadverzeichnis  = 'pastebin/files/';
        $uploadname         = $uploadverzeichnis . $dateiname;

        move_uploaded_file($tmp_name, $uploadname);
    }
}

echo '</li></ul></li></ul></li></ul></li></ul></count></div>' . "\n";

echo '<p> </p>' . "\n";

$folder     = 'pastebin/files/';
$open       = opendir($folder);

echo '<table id="pastebin" summary="text">' . "\n";
echo '<colgroup>' . "\n";
echo '<col width="25%" />' . "\n";
echo '<col width="55%" />' . "\n";
echo '<col width="10%" />' . "\n";
echo '<col width="10%" />' . "\n";
echo '</colgroup>' . "\n";
echo '<tr>' . "\n";
echo '<th>Datei</th>' . "\n";
echo '<th>Pfad</th>' . "\n";
echo '<th>Größe</th>' . "\n";
echo '<th>Aktion</th>' . "\n";
echo '</tr>' . "\n";

while ($file = readdir($open)) {
    if($file != "." && $file != "..") {
        echo '<tr>' . "\n";
        echo '<td><a href="http://dein.server.de/' . $folder . $file . '" target="_blank">' . $file . '</a></td>' . "\n";
        echo '<td><input class="file" type="text" readonly="readonly" value="http://dein.server.de/' . $folder . $file . '" size="40" /></td>' . "\n";
        echo '<td>' . Dateigroesse($folder . $file) . '</td>' . "\n";
        echo '<td><a href="http://dein.server.de/scriptname.php?admin=unlink,' . $file . '">löschen</a></td>' . "\n";
        echo '</tr><tr>' . "\n";
    }
}

echo '</tr></table>' . "\n";

closedir($open);
?>

Viel Spaß damit, bei Fragen scheut euch nicht die Kommentare zu nutzen :-)

Schreibe einen Kommentar

Ihre Email-Adresse wird nicht veröffentlicht. Pflichtfelder sind durch * markiert.

Sie können folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>