Error's na groter dan 5mb
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
26
27
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
<?php
if($_SERVER['REQUEST_METHOD'] == "POST"){
if($_FILES["file"]["size"] > "5242880"){
echo 'Bestand te groot, maximaal 5 mb.';
exit;
}
if ($_FILES["file"]["error"] > 0){
echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"]) . "<br />";
move_uploaded_file($_FILES["file"]["tmp_name"], "uploads/" . $_FILES["file"]["name"]);
echo "Stored in: " . "uploads/" . $_FILES["file"]["name"];
echo "<br/>Download link: <a href='http://localhost/upload/uploads/" . $_FILES["file"]["name"] ."'>Download</a>";
}
}
?>
<form action="" method="post" enctype="multipart/form-data">
<label for="file">Bestandsnaam</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
if($_SERVER['REQUEST_METHOD'] == "POST"){
if($_FILES["file"]["size"] > "5242880"){
echo 'Bestand te groot, maximaal 5 mb.';
exit;
}
if ($_FILES["file"]["error"] > 0){
echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"]) . "<br />";
move_uploaded_file($_FILES["file"]["tmp_name"], "uploads/" . $_FILES["file"]["name"]);
echo "Stored in: " . "uploads/" . $_FILES["file"]["name"];
echo "<br/>Download link: <a href='http://localhost/upload/uploads/" . $_FILES["file"]["name"] ."'>Download</a>";
}
}
?>
<form action="" method="post" enctype="multipart/form-data">
<label for="file">Bestandsnaam</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
Bij bestanden onder de 5 mb doet ie het goed, maar na 5 mb geeft ie allemaal notices terug?:
Notice: Undefined index: file in C:\data\home\www\upload\index.php on line 3
Notice: Undefined index: file in C:\data\home\www\upload\index.php on line 7
Notice: Undefined index: file in C:\data\home\www\upload\index.php on line 11
Upload:
Notice: Undefined index: file in C:\data\home\www\upload\index.php on line 12
Type:
Notice: Undefined index: file in C:\data\home\www\upload\index.php on line 13
Size:
Notice: Undefined index: file in C:\data\home\www\upload\index.php on line 14
Notice: Undefined index: file in C:\data\home\www\upload\index.php on line 14
Notice: Undefined index: file in C:\data\home\www\upload\index.php on line 15
Stored in: uploads/
Notice: Undefined index: file in C:\data\home\www\upload\index.php on line 16
Download link: Download
Bestandsnaam
Help?
Via je htacces kan je deze limit omhoog gooien
Haal die kut exit; etc nou eens uit je script. Is al eerder gezegt.
Advies: gaat eens leren om je eigen code te debuggen en de foutmelidngen te begrijpen
Quote:
Via je htacces kan je deze limit omhoog gooien
Dat is toch geen oplossing
Quote:
Haal die kut exit; etc nou eens uit je script. Is al eerder gezegt.
dat zal moeilijk gaan want van script logica heeft ie nooit gehoord.
Gewijzigd op 28/09/2010 20:41:49 door Noppes Homeland
Je checked ook nergens of $_FILES["file"] wel bestaat. En zo te zien bestaat ie niet.
Zet eens het volgende bovenin je script het upload nog eens een bestand groter dan 5MB.
Edit:
Als je het script met deze regels online plaatst, maak dan van die 1 een 0.
Dan kunnen bezoekers niet meegenieten van alle errors.
Als je het script met deze regels online plaatst, maak dan van die 1 een 0.
Dan kunnen bezoekers niet meegenieten van alle errors.
Gewijzigd op 28/09/2010 20:45:19 door Martijn B
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
26
27
28
29
30
31
32
33
34
35
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
<?php
if($_SERVER['REQUEST_METHOD'] == "POST"){
if(!empty($_FILES['file'])){
if($_FILES["file"]["size"] > 5242880){
echo 'Bestand te groot, maximaal 5 mb.';
}
else{
if ($_FILES["file"]["error"] > 0){
echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"]) . "<br />";
move_uploaded_file($_FILES["file"]["tmp_name"], "uploads/" . $_FILES["file"]["name"]);
echo "Stored in: " . "uploads/" . $_FILES["file"]["name"];
echo "<br/>Download link: <a href='http://localhost/upload/uploads/" . $_FILES["file"]["name"] ."'>Download</a>";
}
}
}
else
{
echo 'Selecteer een bestand!';
}
}
?>
<form action="" method="post" enctype="multipart/form-data">
<label for="file">Bestandsnaam</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
if($_SERVER['REQUEST_METHOD'] == "POST"){
if(!empty($_FILES['file'])){
if($_FILES["file"]["size"] > 5242880){
echo 'Bestand te groot, maximaal 5 mb.';
}
else{
if ($_FILES["file"]["error"] > 0){
echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"]) . "<br />";
move_uploaded_file($_FILES["file"]["tmp_name"], "uploads/" . $_FILES["file"]["name"]);
echo "Stored in: " . "uploads/" . $_FILES["file"]["name"];
echo "<br/>Download link: <a href='http://localhost/upload/uploads/" . $_FILES["file"]["name"] ."'>Download</a>";
}
}
}
else
{
echo 'Selecteer een bestand!';
}
}
?>
<form action="" method="post" enctype="multipart/form-data">
<label for="file">Bestandsnaam</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
En maak van if(!empty($_FILES['file'])){ eens if(!empty($_FILES['file']['name'])){
Ga ook eens op zoek naar de structuur van de $_FILES (dit is namelijk een array).
Gewijzigd op 28/09/2010 22:50:18 door Arjan -
Arjen - op 28/09/2010 22:47:50:
Antwoorden als 'gezeur' betitelen is een beetje onrespectvol vind je niet?
Helemaal mee eens.
Arjen - op 28/09/2010 22:47:50:
En maak van if(!empty($_FILES['file'])){ eens if(!empty($_FILES['file']['name'])){
Waarom?
Omdat er gevallen zijn dat $_FILES (of dat nou ook het geval is met $_FILES['file'] weet ik eigenlijk niet), gewoon wel bestaat, dus false op empty geeft.
SanThe Nvt op 28/09/2010 22:50:02:
Helemaal mee eens.
Waarom?
Arjen - op 28/09/2010 22:47:50:
Antwoorden als 'gezeur' betitelen is een beetje onrespectvol vind je niet?
Helemaal mee eens.
Arjen - op 28/09/2010 22:47:50:
En maak van if(!empty($_FILES['file'])){ eens if(!empty($_FILES['file']['name'])){
Waarom?
Wanneer je een form submit met daarin een file input dan zal je $_FILES variabele altijd een array bevatten met de standaard keys en zonder waarden. Hierdoor zal een empty functie over de array geen zin hebben. De array is immers niet leeg maar heeft geen waarden.
Edit: En overigens werkt jouw (Dalando) code gewoon hoor!
Gewijzigd op 28/09/2010 22:57:50 door Arjan -
De index file bestaat niet...
Dus heeft "if(!empty($_FILES['file']))" wel zin.
Edit:
Maar wel vreemd dat file dan helemaal niet bestaat?
Maar wel vreemd dat file dan helemaal niet bestaat?
Gewijzigd op 28/09/2010 23:07:51 door Martijn B
Dan zul je zien wanneer je geen bestand selecteert en het form submit dat je dan toch een volledige array zonder waarden terug krijgt. Dan zal de if(!empty(... dus altijd gelden (lees: true retourneert) tenzij er helemaal geen file input met de naam file bestaat.
Gewijzigd op 28/09/2010 23:09:25 door Arjan -
Dat lijkt mij idd logisch.
Ik gok op de instelling "upload_max_filesize" ...
Gewijzigd op 29/09/2010 09:27:03 door Dalando De Zuil