Strict Standards: Assigning the return value of new by reference is deprecated in /var/www/tp/wp-settings.php on line 229

Strict Standards: Assigning the return value of new by reference is deprecated in /var/www/tp/wp-settings.php on line 231

Strict Standards: Assigning the return value of new by reference is deprecated in /var/www/tp/wp-settings.php on line 232

Strict Standards: Assigning the return value of new by reference is deprecated in /var/www/tp/wp-settings.php on line 249
webcreate IT SOLUTIONS Blog » Fileupload

Fileupload

Das folgende Script erlaubt es Dateien mit definierten Dateiendungen auf den Server zu laden.
Die Dateinamen werden automatisch erweitert, wenn es die entsprechende Datei schon auf dem Server gibt.

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
<?php
// Zielverzeichnis (WICHTIG: Mit "/" abschliessen!!!)
$folder = "daten/";
 
// Maximale Dateigröße (in Bytes)
$max_filesize = "2048000";
 
// Array der zulässigen Endungen
$extensions = array(
    "jpg",
    "gif",
    "png",
    "doc",
    "pdf"
);
 
function random($laenge) { 
    $signs = "abcdefghijklnmopqrstuvwxyzABCDEFGHIJKLNMOPQRSTUVWXYZ0123456789";
    $name_new = ""; 
    mt_srand ((double) microtime() * 1000000); 
    for ($i = 0; $i < $laenge; $i++) $name_new .= $signs{mt_rand (0,strlen($signs))}; 
    return $name_new; 
}
 
function createName($pname, $ftype){
    global $folder;
    $pname .= random(3);
    if(file_exists($folder.$pname.".".$ftype)) return createName($pname, $ftype);
    else return $pname.".".$ftype;
}
 
function fileupload(){
    global $folder;
    global $max_filesize;
    global $extensions;
    if(!empty($_FILES['datei']['name'])){
        $fname = $_FILES['datei']['name'];
        $split = explode(".", $fname);
        $pname = $split[0];
        $ftype = $split[1];
        if(!in_array($ftype, $extensions)) return "Die von Ihnen ausgewählte Datei hat keine zulässige Dateiendung.";
        if($_FILES['datei']['size'] > $max_filesize) return "Die von Ihnen ausgewählte Datei ist für einen Upload zu groß.";
        if(file_exists($folder.$fname)){
            $fname = createName($pname, $ftype);
            $info = "<br /><strong>Die Datei musste unbenannt werden, weil eine Datei mit gleichem Dateinamen schon auf dem Server existiert.</strong>";
        }
        if(!move_uploaded_file($_FILES['datei']['tmp_name'], $folder.$fname)) return "Der Upload ist fehlgeschalgen, bitte versuchen Sie es erneut.";
        return "Die Datei \"$fname\" ist erfolgreich hochgeladen worden.$info";
    }
    else return "Sie haben keine Datei zum upload ausgewählt!";
}
if(!empty($_POST['fload'])) $upload = fileupload();
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Dateiupload</title>
<style type="text/css">
#ausgabe{
    font-family: Tahoma, Arial, Helvetica, sans-serif;
    font-size: 0.8em;
    font-weight: normal;
    color: #f00;
}
</style>
</head>
<body>
<p>Ihr Dateiupload:</p>
<form name="form1" id ="form1" method="post" enctype="multipart/form-data" action="<?=$_SERVER['PHP_SELF'];?>">
<label for="datei">Datei: </label>
<input type="file" name ="datei" id="datei" />
<input type="submit" name="fload" id="fload" value="Upload starten" />
</form>
<div id="ausgabe"><?=$upload;?></div>
</body>
</html>

No comments yet.

Write a comment: