Upload script maximum grote
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)
1
2
3
4
5
2
3
4
5
<?
if (($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/pjpeg") && ($_FILES["file"]["size"] < 250000)) {
}
?>
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
Hier heb ik een upload script staan waar al die checks inzitten.
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?
Wat is de naam van het veld in je formulier? Controleer ook met is_uploaded_file() of er wel een bestand geupload is?
en hier heb je mijn code voor de namen van mijn formulier.
Code (php)
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
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>
?>
<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
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)
1
2
3
4
5
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)) {
}
?>
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)
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
Graag gedaan ;)
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.
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.
Dat staat in de php.ini en kan je bekijken met phpinfo().