Multiple image uploader

Door PHP Newbie, 16 jaar geleden, 9.619x bekeken

Met dit script kun je meerdere afbeeldingen uploaden. Er gebeurd niks extra's, er wordt alleen gekeken of het bestand jpg is (daar is dit script eigenlijk voor bedoeld, op regel 106 kun je zelf extensie's toevoegen)

Alles staat gewoon in een while loop, dus resizes toevoegen e.d. moet eigenlijk geen enkel probleem zijn.

Dit script werk ideaal samen met het fotoalbum v2 van Arjan, aangezien ik dit script hier ook voor geschreven heb.

Gesponsorde koppelingen

PHP script bestanden

  1. multiple-image-uploader

 

Er zijn 34 reacties op 'Multiple image uploader'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
 
0 +1 -0 -1
Ideaal, i.c.m. het Automatisch Fotoalbum V2 script van Arjan Kapteijn!
PHP Newbie
PHP Newbie
16 jaar geleden
 
0 +1 -0 -1
Daar heb ik het op mijn site ook voor geschreven :-p
Bo az
Bo az
16 jaar geleden
 
0 +1 -0 -1
Je controleerd of het bestand wel juist is door de extensie, dit zegt echter niks over de inhoud, je kan beter op mime type controleren (of beide natuurlijk).
Roy Bongers
Roy Bongers
16 jaar geleden
 
0 +1 -0 -1
die $num en for loop heb ik in mijn eigen multiple upload script vervangen door een foreach lusje.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
foreach ($_FILES as $file)
{
   print_r($file);
}


De array ziet er dan bijv. zo uit:
$arr['name'] = 'orginele naam';
$arr['error'] = 0;
$arr['tmp_name'] = 'wertref';
$arr['type'] = 'image/jpeg';

Dit maakt 't geheel gewoon iets flexibeler.
Jasper
jasper
16 jaar geleden
 
0 +1 -0 -1
Boaz, dit is voor admins bedoeld. van iemand die foto's op zijn eigen website gaat zetten, verwacht je niet, dat die zichzelf gaat proberen in het zak zetten. Je moet er gewoon voor zorgen, dat geen onbevoegde mensen op deze pagina kunnen. op mime type controleren is dan zeker overbodig. Als je je publiek foto's laat uploaden is dat iets anders natuurlijk. dan kan je nooit genoeg checken!
Melroy van den Berg
Melroy van den Berg
16 jaar geleden
 
0 +1 -0 -1
gebruik:
if ($file != "." && $file != ".." && is_dir($dir.$file))

ipv

if ($file != "." && $file != "..")
voor de Doelmap...
PHP Newbie
PHP Newbie
16 jaar geleden
 
0 +1 -0 -1
thx, aangepast Melroy, volgende keer is het wel makkelijk als je ook even de regel vermeld ;-)
Jan boden
jan boden
16 jaar geleden
 
0 +1 -0 -1
Beste, ik vind het een schitterend script, net wat ik zocht. In Firefox werkt het prima, maar om één of andere vreemde reden wil het niet werken in Internet Explorer. Alles werkt prima, maar als ik op Uploaden klik, krijg ik geen reactie, er gebeurd echt niets.
Ligt het aan mij, of waar kan het probleem liggen?


update: ik heb het probleem gevonden, er blijkt ergens een foutje te zitten in de div waarin je de form oproept om een nieuwe map te maken. in dreamweaver geeft hij een invalid mark up. ik heb het maken van mappen in een aparte file geschreven, die ik via a href oproep, en nu werkt het ook in IE. Aangezien ik nooit met javascriptjes werk, zou ik dus echt niet weten wat daar de fout kan in zijn...
Hans Versteegen
Hans Versteegen
16 jaar geleden
 
0 +1 -0 -1
Vraagje...
Ik heb het script neergezet en alles hetzelfde gelaten. Ook de mapnaam waar de mappen instaan van de albums zijn gelijk.
Alleen heb ik nu het probleem dat ik de bestaande mappen niet kan zien en dus ook niet kan selecteren. Suggesties?
Arjan Kapteijn
Arjan Kapteijn
16 jaar geleden
 
0 +1 -0 -1
Leuk idee :). Ik post mijn eigen upload script hier ook even, niet als een belediging maar puur om te laten zien dat ik het persoonlijk iets anders zou doen.

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
<form action="" method="post" enctype="multipart/form-data">
<p>Met het onderstaande formulier kunt u plaatjes van het type jpg, gif en png uploaden. Houd hierbij rekening met het feit dat er een limiet van 1mb is ingesteld!</p>

<?
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
    function
randomgenerator($aantaltekens)
    {

        $kleineletters     = range('a','z');
        $groteletters     = range('A','Z');
        $cijfers        = range(0,9);
        
        $karakters     = array_merge($kleineletters, $groteletters, $cijfers);
        $aantal     = count($karakters)-1;
          $random     = null;
          
          for($i=0; $i < $aantaltekens; $i++) {
               $random .= $karakters[mt_rand(0, $aantal)];
          }

          return $random;
    }

    
    foreach($_FILES as $afbeelding)
    {

        $naam         = $afbeelding['name'];
        $type         = $afbeelding['type'];
        $temp         = $afbeelding['tmp_name'];
        $error        = $afbeelding['error'];
        $size        = $afbeelding['size'];
        
        switch($error)
        {
            case
0:
                if(is_uploaded_file($temp))
                {

                    if($type == 'image/jpeg' || $type == 'image/gif' || $type == 'image/png' || $type == 'image/pjpeg')
                    {

                        if($size >= 1024000)
                        {

                            echo '<p>Sorry, dit bestand is te groot om te worden geupload!</p>';
                        }
else{
                            $random = randomgenerator(5);
                            $verplaats = move_uploaded_file($temp, 'uploads/'.$random.'-'.$naam);
                        
                            if($verplaats == 1)
                            {

                                echo '<p>Er is geen error opgetreden. Het bestand is met success geupload</p>';
                            }
else{
                                echo '<p>Er ging iets mis met het uploaden van '.$naam.', neem contact op met de webmaster.</p>';
                            }
                        }
                    }
else{
                        echo '<p>Sorry, dit bestandsformaat accepteer ik niet! ('.$type.')</p>';
                    }                
                }
else{
                    echo '<p>Sorry, dit accepteer ik niet!</p>';
                }

                break;
                
            case
1:
                echo '<p>Error: De grootte van het bestand is groter dan wat de server aankan!</p>';
                break;
            
            case
2:
                echo '<p>Error: De grootte van het bestand is groter dan 1024kb!</p>';
                break;
            
            case
3:
                echo '<p>Error: Het bestand is maar gedeeltelijk geupload!</p>';
                break;
            
            case
4:
                //Geen bestand geupload, we doen niks!
                break;
        }
    }
}

?>

<fieldset>
<legend>Afbeeldingen:</legend>
    <input type="hidden" name="MAX_FILE_SIZE" value="1024000">
    <label for="1afbeelding" accesskey="1">1) afbeelding: </label>
        <input type="file" id="1afbeelding" name="1afbeelding" tabindex="5" title="Afbeelding 1 toevoegen"><br>
    <label for="2afbeelding" accesskey="2">2) afbeelding: </label>
        <input type="file" id="2afbeelding" name="2afbeelding" tabindex="6" title="Afbeelding 2 toevoegen"><br>
    <label for="3afbeelding" accesskey="3">3) afbeelding: </label>
        <input type="file" id="3afbeelding" name="3afbeelding" tabindex="7" title="Afbeelding 3 toevoegen"><br>
    <label for="4afbeelding" accesskey="4">4) afbeelding: </label>
        <input type="file" id="4afbeelding" name="4afbeelding" tabindex="8" title="Afbeelding 4 toevoegen"><br>
    <label for="5afbeelding" accesskey="5">5) afbeelding: </label>
        <input type="file" id="5afbeelding" name="5afbeelding" tabindex="9" title="Afbeelding 5 toevoegen"><br>
    <label for="6afbeelding" accesskey="6">6) afbeelding: </label>
        <input type="file" id="6afbeelding" name="6afbeelding" tabindex="10" title="Afbeelding 6 toevoegen"><br>
    <label for="7afbeelding" accesskey="7">7) afbeelding: </label>
        <input type="file" id="7afbeelding" name="7afbeelding" tabindex="11" title="Afbeelding 7 toevoegen"><br>
    <label for="8afbeelding" accesskey="8">8) afbeelding: </label>
        <input type="file" id="8afbeelding" name="8afbeelding" tabindex="12" title="Afbeelding 8 toevoegen"><br>
    <label for="9afbeelding" accesskey="9">9) afbeelding: </label>
        <input type="file" id="9afbeelding" name="9afbeelding" tabindex="13" title="Afbeelding 9 toevoegen"><br>
    <label for="10afbeelding" accesskey="10">10) afbeelding: </label>
        <input type="file" id="10afbeelding" name="10afbeelding" tabindex="14" title="Afbeelding 10 toevoegen"><br>
</fieldset>

<fieldset>
<legend>Versturen</legend>
    <input type="submit" name="versturen" value="Versturen" id="versturen" tabindex="15"> <INPUT type="reset" id="wissen" name="wissen" value="Wissen" tabindex="16">
</fieldset>
</form>
Marije
Marije
16 jaar geleden
 
0 +1 -0 -1
Dat ziet er overzichtelijk uit! Alleen kun je bij jouw script geen map selecteren (en aanmaken) Dat is wel jammer.
PHP Newbie
PHP Newbie
16 jaar geleden
 
0 +1 -0 -1
Ik citeer regel 184: <i>Of klik hier en maak een nieuwe map aan</i>
Marije
Marije
16 jaar geleden
 
0 +1 -0 -1
mijn fout, sorry :) ik had het echt niet gezien domdomdom. :)
PHP Newbie
PHP Newbie
16 jaar geleden
 
0 +1 -0 -1
:-)
Jurgen B
Jurgen B
16 jaar geleden
 
0 +1 -0 -1
Ik heb hetzelfde probleem als Hans Versteegen heeft. Het systeem werkt super alleen kan ik geen mappen kiezen. Simpelweg omdat er geen opties zijn in dat keuze veldje.

Ik heb alles al ge-CHMOD naar 777 maar dat heeft ook geen nut. Ik kan wel een nieuwe map aanmaken dat werkt wel. Maar deze komt ook niet in het lijstje voor daarna.

Wat zit er fout ?
PHP Newbie
PHP Newbie
16 jaar geleden
 
0 +1 -0 -1
kijk even in de bron in het menu, zie je daar een error staan?
Arjan Kapteijn
Arjan Kapteijn
16 jaar geleden
 
0 +1 -0 -1
Ik zou het zo doen:

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
<?php
foreach($_FILES as $afbeelding)
{

    $naam         = $afbeelding['name'];
    $type         = $afbeelding['type'];
    $temp         = $afbeelding['tmp_name'];
    $error        = $afbeelding['error'];
    $size        = $afbeelding['size'];
        
    switch($error)
    {
        case
0:
            if(is_uploaded_file($temp))
            {

                if($type == 'image/jpeg' || $type == 'image/gif' || $type == 'image/png')
                {

                    if($size >= 1024000)
                    {

                        echo '<p>Sorry, dit bestand is te groot om te worden geupload!</p>';
                    }
else{
                        //Random nummertje aanmaken.
                        $random = randomgenerator(5);
                        
                        //Verplaatsen
                        if(move_uploaded_file($temp, 'afbeeldingen/'.$random.'-'.$naam))
                        {

                            echo '<p>Er is geen error opgetreden. Het bestand is met success geupload</p>';
                        }
else{
                            echo '<p>Er ging iets mis met het uploaden van '.$naam.', neem contact op met de webmaster.</p>';
                        }
                    }
                }
else{
                    echo '<p>Sorry, dit bestandsformaat accepteer ik niet!</p>';
                }                
            }
else{
                echo '<p>Sorry, dit accepteer ik niet!</p>';
            }

            break;
            
        case
1:
            echo '<p>Error: De grootte van het bestand is groter dan wat de server aankan!</p>';
            break;
        
        case
2:
            echo '<p>Error: De grootte van het bestand is groter dan 1024kb!</p>';
            break;
        
        case
3:
            echo '<p>Error: Het bestand is maar gedeeltelijk geupload!</p>';
            break;
        
        case
4:
            //Geen bestand geupload, we doen niks!
            break;
    }
}

?>
Jurgen B
Jurgen B
16 jaar geleden
 
0 +1 -0 -1
Nee ik zie geen fouten.

Via FF kan ik wel gewoon inloggen maar zie ik de mappen dus niet en in IE log ik in en dan krijg ik direct :

Bestand 1 was leeg

Bestand 2 was leeg

Bestand 3 was leeg

Bestand 4 was leeg

Bestand 5 was leeg

Bestand 6 was leeg

Bestand 7 was leeg

Bestand 8 was leeg

Bestand 9 was leeg

Bestand 10 was leeg

te zien en daaronder het loginveld
Jurgen B
Jurgen B
16 jaar geleden
 
0 +1 -0 -1
@ Arjan:

Waar moet ik dat stuk script plaatsen dan? Als ik dat in een PHP bestand stop dan is de pagina blanco
Arjan Kapteijn
Arjan Kapteijn
16 jaar geleden
 
0 +1 -0 -1
Wacht, ik zie dat ik die op 28.07.2006 13:11 al geplaats had, incl formulier. Die kan je dus pakken.
Bastiaan
Bastiaan
16 jaar geleden
 
0 +1 -0 -1
Als je geen pulldown met doelmappen te zien krijgt (en waarschijnlijk met een Windows-server werkt) dan kun je dit oplossen door regel 150 te wijzigen.

Van:
if (($file != ".") && ($file != "..") && (is_dir($file)))

Naar:
if (($file != ".") && ($file != "..") && (filetype($dir.$file) == "dir"))
Jurgen B
Jurgen B
16 jaar geleden
 
0 +1 -0 -1
Super dankjewel dit is de oplossing!!!
Jan Veenstra
Jan Veenstra
16 jaar geleden
 
0 +1 -0 -1
hoe kan ik de beveileging er uit halen, het bestand is namelijk bij mij al beveiligt
Dion
Dion
15 jaar geleden
 
0 +1 -0 -1
Hij werkt bij ij niet. als ik de plaatjes nu wil uploaden doet ie niets:S
Akka
Akka
15 jaar geleden
 
0 +1 -0 -1
Ik heb hem even geprobeerd op mijn server, maar hij weergeeft het volgende:

Ik heb alleen de fotomap aangepast naar ../images/fotomap/ verder niks.

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
Notice: Undefined index: map in /home/pimp/domains/pimpjeconsole.nl/public_html/login/upload.php on line 110

Notice: Undefined index: map in /home/pimp/domains/pimpjeconsole.nl/public_html/login/upload.php on line 129

Warning: move_uploaded_file(../images/tut_img//12761.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/pimp/domains/pimpjeconsole.nl/public_html/login/upload.php on line 129

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/php5cuNy0' to '../images/tut_img//12761.jpg' in /home/pimp/domains/pimpjeconsole.nl/public_html/login/upload.php on line 129
Error tijden uploaden van bestand 1
Notice: Undefined index: map in /home/pimp/domains/pimpjeconsole.nl/public_html/login/upload.php on line 110

Notice: Undefined index: map in /home/pimp/domains/pimpjeconsole.nl/public_html/login/upload.php on line 129

Warning: move_uploaded_file(../images/tut_img//5029.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/pimp/domains/pimpjeconsole.nl/public_html/login/upload.php on line 129

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpfDoPIk' to '../images/tut_img//5029.jpg' in /home/pimp/domains/pimpjeconsole.nl/public_html/login/upload.php on line 129
Error tijden uploaden van bestand 2
Notice: Undefined index: map in /home/pimp/domains/pimpjeconsole.nl/public_html/login/upload.php on line 110

Notice: Undefined index: map in /home/pimp/domains/pimpjeconsole.nl/public_html/login/upload.php on line 129

Warning: move_uploaded_file(../images/tut_img//12758.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/pimp/domains/pimpjeconsole.nl/public_html/login/upload.php on line 129

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpVXeQoF' to '../images/tut_img//12758.jpg' in /home/pimp/domains/pimpjeconsole.nl/public_html/login/upload.php on line 129
Error tijden uploaden van bestand 3Bestand 4 was leeg

Bestand 5 was leeg

Bestand 6 was leeg

Bestand 7 was leeg

Bestand 8 was leeg

Bestand 9 was leeg

Bestand 10 was leeg


Ik probeerde maar 2 bestanden up te loaden.. :S
Akka
Akka
15 jaar geleden
 
0 +1 -0 -1
Ik heb een mailtje gestuurd naar de host, en die zegt dat het niet aan hen ligt..
Carel
Carel
14 jaar geleden
 
0 +1 -0 -1
Mime isues sigh.........uploaden gaat niet omdat het de extensie niet herkent IE maakt er pjepg of pjpg van en bij veel andere extensies geld hetzelfde.
Danny Roelofs
Danny Roelofs
14 jaar geleden
 
0 +1 -0 -1
Akka:

function.move-uploaded-file]: Unable to move '/tmp/php5cuNy0' to '../images/tut_img//12761.jpg' i

unable to move: rechten? of zou het zijn.. tut_img//12761 -<< slash-slash?

hoe dan ook, hier mag over nagedacht worden.
Frank
Frank
14 jaar geleden
 
0 +1 -0 -1
Ik zit met een probleempje met de extensies

Wat ik ervan heb gemaakt is het volgende:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
$pathinfo = pathinfo($_FILES['bestand'.$j]['name']); //maak een pathinfo
                    $ext =  $pathinfo["extension"]; //en geef $ext de extensie mee
            
                    if($ext != 'jpg' || 'png' || 'bmp' || 'psd' || 'jpeg') //als de extensie niet jpg, png, bmp of psd is
                    {
                        $error = 'Bestand wordt niet ondersteund; alleen jpg, png, bmp en psd worden ondersteund'; //echo dat


Dit werkt echter niet. Zodra ik een jpg ga uploaden krijg ik de foutmelding dat de extensie niet wordt ondersteund. Moet ik dit nog anders aangeven? Ik dacht dat dit goed was, maar blijkbaar niet.

Regelnummer is trouwens 106.
Arjan jansen
arjan jansen
13 jaar geleden
 
0 +1 -0 -1
Hallo

ik kan niks uploaden mappen worden aangemaakt maar er komt niks in te staan hoe kan ik dit verhelpen

verder is het een super script
scheelt veel tijd

Arjan
Steen
steen
13 jaar geleden
 
0 +1 -0 -1
@Frank: Je moet je statement herhalen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
if($ext != 'png' || $ext != 'gif' ...)
{


@Arjan Kapteijn: Kun je ook een werkend voorbeeld plaatsen?
Patrick
Patrick
13 jaar geleden
 
0 +1 -0 -1
Werkende Script:

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=fotoalbum.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 != "..") && (filetype($dir.$file)== "dir"))
                    {

                        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>
                
                
                    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>
                
            </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>
Sven video
sven video
10 jaar geleden
 
nou hij werkt nog niet!
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Niels K
Niels K
10 jaar geleden
 
0 +1 -0 -1
Beste Sven,

Wanneer er problemen zijn graag een nieuw topic openen in het daarvoor bestemde forum onderdeel.

Met vriendelijke groeten,

Niels Kieviet

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. multiple-image-uploader

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

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.