multiple-image-uploader

Gesponsorde koppelingen

PHP script bestanden

  1. multiple-image-uploader

« Lees de omschrijving en reacties

Code (php)
PHP script in nieuw venster Selecteer het PHP 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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
<?php
error_reporting(E_ALL);
session_start();

$dir = "fotoalbum/";  // map voor images
$maxsize = 100000000; // maximum groote images
$num = 10; //aantal afbeeldingen tegelijk
$wachtwoord = 'upload'; //wachtwoord om het script te kunnen gebruiken

if($_SERVER['REQUEST_METHOD'] == 'POST') //als er gepost is
{
    if(isset($_POST['login'])) //als ?login bestaat
    {
        if($_POST['wachtwoord'] == $wachtwoord) //als ?login het wachtwoord bevat
        {
            header('Refresh: 2; URL='.$_SERVER['PHP_SELF']); //een header naar deze pagina
            $_SESSION['ingelogd'] = 'OkI'; //sessie zetten dat er ingelogd is
            $melding = 'Ingelogd, en ogenblik geduld...'; //en even echooen
        }
        else //als ?login niet het wachtwoord bevat
        {
            header('Refresh: 2; URL='.$_SERVER['PHP_SELF']); //header refresh naar deze pagina
            $melding = 'Niet ingelogd, en ogenblik geduld...'; //en even echooen dat er niet is ingelogd
        }
    }
}

if(isset($_GET['uitloggen'])) //
{
    header('Refresh: 1; URL=uploader.php');
    unset($_SESSION['ingelogd']);
    $melding = 'Uitgelogd...';
}

?>

<!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>
<title>Uploaden</title>

<script language="javascript">
function createmap(id)
{
    if(document.getElementById("weergeefcreate"+id).style.display=='none')
    {
        document.getElementById("weergeefcreate"+id).style.display = '';
        document.getElementById("verbergcreate"+id).style.display = 'none';
        document.getElementById("createetext"+id).style.display = 'none';
    }
    else
    {
        document.getElementById("weergeefcreate"+id).style.display = 'none';
        document.getElementById("verbergcreate"+id).style.display = '';
        document.getElementById("createetext"+id).style.display = '';
    }
}
</script>
</head>

<body>
    <?php
    if(isset($melding)) //als $melding bestaat
    {
        exit($melding); //stop het script met de melding
    }
    
    $i = 0; //set $i op 0
    
    if($_SERVER['REQUEST_METHOD'] == "POST") //als er gesubmit is
    {
        if(isset($_POST['creatdir'])) //als er een nieuwe map aangemaakt moet worden
        {
            if(!empty($_POST['mapname'])) //en de map naaam is niet leeg
            {
                if(!is_dir($dir.$_POST['mapname'])) //en als de map nog niet bestaat
                {
                    mkdir($dir.$_POST['mapname'], 0755); //maak de map dan aan
                    echo 'de map '.$_POST['mapname'].' is aangemaakt<br><br>'; //en echo dat de map is aangemaakt
                }
                else //als de map al bestaat
                {
                    echo 'map bestaat al<br><br>'; //echo dat de map al bestaat
                }
            }

            else //als de mapnaam leeg is
            {
                echo '<b>de opgegeven bestandsnaam is leeg</b><br><br>'; //echo dat de mapnaam leeg is
            }
            
            unset($_POST); //unset de post variabele
        }
        else //als er geen nieuwe map aangemaakt moet worden
        {
            if(!is_dir($dir)) //als de opgegeven map niet bestaat
            {
                mkdir ($dir, 0700); //maak de map aan
            }
            
            $j = 1; //set $j op 1
            
            while($j <= $num) //als $j kleiner of gelijk aan het nummer van de uploads is
            {
                if(!empty($_FILES['bestand'.$j]['name'])) //als het bestand niet leeg is
                {
                    $pathinfo = pathinfo($_FILES['bestand'.$j]['name']); //maak een pathinfo
                    $ext =  $pathinfo["extension"]; //en geef $ext de extensie mee
            
                    if($ext != 'jpg') //als de extensie niet jpg is
                    {
                        $error = 'Bestand is geen jpg'; //echo dat
                    }
                    elseif(file_exists($dir.$_POST['map'].'/'.$_FILES['bestand'.$j]['name'])) //als het bestand al bestaat
                    {
                        $error = 'Bestand '.$j.' bestaat al'; //echo dat
                    }
                    elseif($_FILES['bestand'.$j]['size'] > $maxsize) //als het bestand groter is dan de opgegeven grootte
                    {
                        $error = 'Bestand is te groot'; //dan geven dat mee aan de echo ;-)
                    }
                    else //als al het bovenstaande niet zo is :-p
                    {
                        $error = NULL; //set $error dan op 0
                    }
                
                    if(!empty($error)) //als error niet leeg is
                    {
                        echo '<b>Er is een fout op getreden bij bestand '.$j.':</b><br>'.$error.'<br /><br />';  //echo de error
                    }
                    else //als de error wel leeg is
                    {
                        if(move_uploaded_file($_FILES['bestand'.$j]['tmp_name'], $dir.$_POST['map'].'/'.$_FILES['bestand'.$j]['name'])) //verplaats het bestand
                        {
                            echo 'Bestand '.$j.' is succesvol geupload:<br>
                            <br>
                            <img src="'
.$dir.$_POST['map'].'/'.$_FILES['bestand'.$j]['name'].'" alt="'.$_FILES['bestand'.$j]['name'].'" width="200px"><br>
                            <br>'
; //en echo dat alles is gelukt
                        }
                        else //als het bestand niet verplaatst kon worden
                        {

                            echo 'Error tijden uploaden van bestand '.$j; //echo dat
                        }
                    }
                }

                else //als het bestand wel leeg is
                {
                    echo '<b>Bestand '.$j.' was leeg</b><br /><br />'; //echo dat het bestand leeg is
                }
                
                $j++;    //verhoog $j met 1    
            } //einde while
        }
    }

    
    if(!isset($_SESSION['ingelogd'])) //als de sessie ingelogd niet bestaat
    { //geef het inlog form
    ?>

        <form method="post" action="#">
            Wachtwoord: <input type="password" name="wachtwoord" /><br />
            <br />
            <input type="submit" name="login" value="Log in!" />
        </form>
    <?php
    }
    else //als de sessie ingelogd wel bestaat
    { //echo het upload form
        ?>

        
        <form action="#" method="post" enctype="multipart/form-data" name="form" id="form">
            Selecteer een doelmap:
            <select name="map" style="z-index: 1;">
                <?php
                $handle
= opendir($dir);
                      
                while (($file = readdir($handle)) != FALSE)
                {

                    if (($file != ".") && ($file != "..") && (is_dir($file)))
                    {

                        echo '<option value="'.$file.'">'.$file.'</option>';
                    }
                }

                ?>

            </select>
            <br />
            <div id="weergeefcreate1" onclick="createmap(1)" style="cursor:pointer; float: left;">
                <i>Of klik hier en maak een nieuwe map aan</i>
            </div>
                      
            <div id="createetext1" style="display:none; position:absolute; width: 350px; background-color:#999999; z-index: 3;">
                <h4 align="center">Maak een nieuwe map aan</h4>
                
                <form method="post" action="#">
                    Nieuwe map naam: <input type="text" name="mapname" /><br />
                    <br />
                    <input type="submit" name="creatdir" value="Maak map aan" />
                    
                    <div id="verbergcreate1" style="display:none;">
                        <input name="createe_text" type="button" value="cancel" onclick="createmap(1)" />
                    </div>
                </form>
            </div>
            <br />
            <br />
            
            <?php  
            $i
= 1;
            
            while($i <= $num)
            {

                echo 'Foto '.$i.' <input name="bestand'.$i.'" type="file" id="bestand"><br />';
                $i++;
            }

            ?>

            <br />
            <input name="uploaden" type="submit" id="uploaden" value="Uploaden">
        </form>
        <br />
        <br />
        <a href="?uitloggen=ja">uitloggen</a>
    <?php
    }
    ?>

</body>
</html>

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.