Upload script maximum grote

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Simon

simon

07/11/2007 13:28:00
Quote Anchor link
hallo allemaal,

ik ben bezig met een upload script en kom het volgende probleem tegen. ik wil een maximum grootte voor een bestand bepalen. ik dacht dat het kon met deze code: ($_FILES["file"]["size"] < 250000)

deze blijkt dus niet te werken en mijn vraag is nu hoe kan ik iets een maximale grootte meegeven?

alvast bedankt voor jullie geweldige antwoorden:P

ps. ik heb ook dit geprobeerd: ($_FILES["file"]["MAX_FILE_SIZE"] < 250000) en dat blijkt ook niet te werken. ik heb ook gezien dat je het via een gewone html code kan maar die was gemakkelijk te omzeilen dus dat wil ik dan ook niet.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
if (($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/pjpeg") && ($_FILES["file"]["size"] < 250000)) {

}

?>

Mod edit:
Iedereen vraagt hulp hier, dus dat in je titel zetten heeft absoluut geen zin
Gewijzigd op 01/01/1970 01:00:00 door Simon
 
PHP hulp

PHP hulp

28/11/2024 08:22:53
 
Joren de Wit

Joren de Wit

07/11/2007 13:30:00
Quote Anchor link
Hier heb ik een upload script staan waar al die checks inzitten.
 
Simon

simon

07/11/2007 13:36:00
Quote Anchor link
maar daar staat echter die ($_FILES["file"]["size"] < 250000) in.

dat werkt niet bij mij.. misschien dat je de code kunt bekijken die ik als eerste had gepost en dat je hem dan aan kunt passen?
 
Joren de Wit

Joren de Wit

07/11/2007 13:41:00
Quote Anchor link
Wat is de naam van het veld in je formulier? Controleer ook met is_uploaded_file() of er wel een bestand geupload is?
 
Simon

simon

07/11/2007 13:43:00
Quote Anchor link
ik kan je garanderen dat het bestand word geupload.. want hij komt namelijk wel op mijn server te staan. ik heb dus de maxgrote op 250kb staan terwijl ik nu een bestand heb dat 750kb is en die upload hij dus ook gewoon.


en hier heb je mijn code voor de namen van mijn formulier.
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
<?
<table border="0">
    <
tr>
        <
form action="upload_file.php" method="post"
        enctype="multipart/form-data">
            <
td><label for="file">Filename:</label></td>
            <
td><input type="file" name="file" id="file" /></td>
    <
/tr>

    <
tr>
        <
td>name picture:</td>
        <
td><INPUT type="text" name="name" id="name"></td>
    <
/tr>

    <
tr>
        <
td>description picture:</td>
        <
td><INPUT type="text" name="description" id="description"></td>
    <
/tr>

    <
tr>
        <
td><input type="submit" name="submit" value="Submit" /><td>
        <
/form>
    <
/tr>
<
/table>
?>
Gewijzigd op 01/01/1970 01:00:00 door simon
 
Joren de Wit

Joren de Wit

07/11/2007 13:48:00
Quote Anchor link
Tja, als je zoveel controles in een if-statement zet, moet je wel goed op de volgorde van de operators letten en welke invloed ze op elkaar hebben.

Als je het vertaalt wil je dat het type aan 1 van de genoemde voorwaarde voldoet en tevens de grootte kleiner is dan een bepaalde waarde. Je if-statement komt er dan zo uit te zien (2 extra haakjes):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/pjpeg")) && ($_FILES["file"]["size"] < 250000)) {

}

?>

Maar een nettere en duidelijkere controle zou je zo kunnen doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$aTypes
= array('image/gif', 'image/jpeg', 'image/pjpeg');
if (in_array($_FILES['file']['type'], $aTypes) && ($_FILES["file"]["size"] < 250000)) {

}

?>

ps. Overzichtelijkheid van je code is zoals je ziet erg belangrijk. Soms is het daarom beter om meerdere if statements te verkiezen boven alles in 1 statement te proppen.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Simon

simon

07/11/2007 13:50:00
Quote Anchor link
ik ga ze even proberen. in mijn edit kun je dadelijk lezen of dat het probleem was ;)

EDIT: het werkt ! hartstikke bedankt blanche.
Gewijzigd op 01/01/1970 01:00:00 door simon
 
Joren de Wit

Joren de Wit

07/11/2007 13:52:00
Quote Anchor link
Graag gedaan ;)
 
- SanThe -

- SanThe -

07/11/2007 14:35:00
Quote Anchor link
Maar, als ik mij niet vergis, upload die ook grotere bestanden naar de server en kan php dan pas kijken of de 'size' goed is. Het bestand staat dan wél op de server in de tmp-dir.
 
Simon

simon

07/11/2007 15:59:00
Quote Anchor link
hmm.. en waar staat die tmp-dir dan? ben ik wel benieuwd naar want ik zie namelijk helemaal nergens een tmp folder of zoiets dergelijks.
 
- SanThe -

- SanThe -

07/11/2007 16:06:00
Quote Anchor link
Dat staat in de php.ini en kan je bekijken met phpinfo().
 



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.