uploaden van files

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

PHP ifelse

PHP ifelse

22/03/2012 17:53:11
Quote Anchor link
Kan iemand mij helpen heb een klein script voor het uploaden van files, echter wil ik dat de gebruiker straks zelf een bepaalde map kan kiezen.

Nu wordt het standaard geupload naar de map uploads, maar zou graag zien dat er 2 mappen komen 1 voor het uploaden van afbeeldingen en 1 voor documenten en dat de gebruiker deze map kan kiezen iemand enig idee hoe ik dit moet 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
<?php

/*Toegestane mime-types*/
    $toegestaan = array('image/png', 'image/gif', 'image/jpeg');
/*Maximale grootte*/
    $max = 153600000000000;
    
    
if(isset($_POST['submit'])){
    if(is_uploaded_file($_FILES['file']['tmp_name'])){
        $return = '';//moet leegblijven
        if($_FILES['file']['size'] > $max){
            $return = 'Het bestand is te groot ('.($_FILES['file']['size']/1024).'b)<br />';//Bestand is groter dan 150kb
        }
        if(!in_array($_FILES['file']['type'], $toegestaan)){
            $return .= 'Het bestand heeft een foute mime-type ('.$_FILES['file']['type'].')';
            //Het mime-type van het bestand werd niet in de array $toegestaan gevonden
        }
        
        if($return == ''){//geen fouten gevonden, dus upload
            /*In dit script kies ik om een random naam te geven zodat er geen dubbele afbeeldingen in de db staan*/

            $ext = strrchr($_FILES['file']['name'], ".");
            $nieuwenaam = time().$ext;
            move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/'.$nieuwenaam);
            $return = 'Het bestand werd geüpload ('.$nieuwenaam.')';
        }
    }
else{
        $return = 'Geen bestand geselecteerd';
    }

    print $return;
}
else{
    print '
    <form method="post" action="" enctype="multipart/form-data">
        <input type="file" name="file" /><br />
        <input type="submit" name="submit" value="Upload" />
    </form>
    '
;
}


?>
 
PHP hulp

PHP hulp

27/11/2024 23:12:56
 
Obelix Idefix

Obelix Idefix

22/03/2012 17:59:36
Quote Anchor link
Maak in je formulier een checkbox of een dropdown waaruit gekozen kan worden.
Op basis van die input ken je dan de map toe.
 
- SanThe -

- SanThe -

22/03/2012 19:27:31
Quote Anchor link
Je kan ook naar de ext kijken. Een .gif, .jpg enzovoort zijn plaatjes. Een .pdf, .txt enzovoort zijn documenten.
Gewijzigd op 22/03/2012 19:27:58 door - SanThe -
 
PHP ifelse

PHP ifelse

22/03/2012 19:29:02
Quote Anchor link
ik snap dat de ext nog niet klopt maar dat was niet mijn vraag

Toevoeging op 22/03/2012 19:30:56:

Heb het formulier aangepast hoe zorg ik er nu voor dat het bestand in de goede map komt?

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
<?php

/*Toegestane mime-types*/
    $toegestaan = array('image/png', 'image/gif', 'image/jpeg');
/*Maximale grootte*/
    $max = 153600000000000;
    
    
if(isset($_POST['submit'])){
    if(is_uploaded_file($_FILES['file']['tmp_name'])){
        $return = '';//moet leegblijven
        if($_FILES['file']['size'] > $max){
            $return = 'Het bestand is te groot ('.($_FILES['file']['size']/1024).'b)<br />';//Bestand is groter dan 150kb
        }
        if(!in_array($_FILES['file']['type'], $toegestaan)){
            $return .= 'Het bestand heeft een foute mime-type ('.$_FILES['file']['type'].')';
            //Het mime-type van het bestand werd niet in de array $toegestaan gevonden
        }
        
        if($return == ''){//geen fouten gevonden, dus upload
            /*In dit script kies ik om een random naam te geven zodat er geen dubbele afbeeldingen in de db staan*/

            $ext = strrchr($_FILES['file']['name'], ".");
            $nieuwenaam = time().$ext;
            move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/'.$nieuwenaam);
            $return = 'Het bestand werd geüpload ('.$nieuwenaam.')';
        }
    }
else{
        $return = 'Geen bestand geselecteerd';
    }

    print $return;
}
else{
    print '
    <FORM METHOD="post" ACTION="upload.php"enctype="multipart/form-data">
        <input type="file" name="file" /><br />
        Locatie:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;     <select NAME="speltak" TYPE="text" VALUE="">
    <option selected="" value="Groepsraad">Groepsraad</option>
    <option value="TLO">TLO</option>
    <option value="Evaluaties">Evaluaties</option>
    </select><br>

        <input name="submit" type="submit" value="Upload">
  
</FORM>

    '
;
}


?>
 
Obelix Idefix

Obelix Idefix

22/03/2012 19:52:13
Quote Anchor link
Je opbouw van je keuzevelden ziet er iets anders uit dan ik zou verwachten, maar als het bij jou werkt.....

Nu nog een if-lus of case-switch inbouwen als het formulier verzonden is.
Controleren op verzenden doe je beter niet met
if(isset($_POST['submit'])) maar met if($_SERVER['REQUEST_METHOD'] == "POST")
 
PHP ifelse

PHP ifelse

22/03/2012 19:56:05
Quote Anchor link
Bedankt voor je reactie,
heb er weinig verstand van hoe maak ik dan een if-lus of case-switch,

hoe zou jij de keuze velden opbouwen?
 
- SanThe -

- SanThe -

22/03/2012 19:57:46
Quote Anchor link
ErikJan Westendorp op 22/03/2012 19:56:05:
heb er weinig verstand van hoe maak ik dan een if-lus of case-switch,


Lees eens een tutorial of kijk op php.net.
 
PHP ifelse

PHP ifelse

22/03/2012 19:59:08
Quote Anchor link
- SanThe - op 22/03/2012 19:57:46:
ErikJan Westendorp op 22/03/2012 19:56:05:
heb er weinig verstand van hoe maak ik dan een if-lus of case-switch,


Lees eens een tutorial of kijk op php.net.

en als ik er daar niet uitkom kan ik het hier toch vragen of niet?
 
- SanThe -

- SanThe -

22/03/2012 20:06:19
Quote Anchor link
Maar dit is zo ontzettend basiskennis.

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
<?php
if(... == ...)
{

    // doe iets
}
else
{
    // doe iets anders
}

switch(...)
{
    case
1: // doe iets
        break;
    case
'jantje': // doe iets anders
        break;
    default:
// doe iets als er niks is gevonden
}
?>
 



Overzicht Reageren

 
 

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.