Error's na groter dan 5mb

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

Dalando De Zuil

Dalando De Zuil

28/09/2010 20:32:45
Quote Anchor link
Ik ben nu even bezig met een simpel upload scriptje, dat een iets hogere prioriteit heeft dan mijn login 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
<?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>


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?
 
PHP hulp

PHP hulp

20/04/2024 12:20:28
 
Jos Verra

Jos Verra

28/09/2010 20:35:34
Quote Anchor link
Via je htacces kan je deze limit omhoog gooien
 
Synaps Framework

Synaps Framework

28/09/2010 20:35:38
Quote Anchor link
Haal die kut exit; etc nou eens uit je script. Is al eerder gezegt.
 
Noppes Homeland

Noppes Homeland

28/09/2010 20:37:59
Quote Anchor link
Je vergeet te controleren met isset of $_FILES sowieso wel bestaat!!

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
 
- SanThe -

- SanThe -

28/09/2010 20:38:59
Quote Anchor link
Je checked ook nergens of $_FILES["file"] wel bestaat. En zo te zien bestaat ie niet.
 
Martijn B

Martijn B

28/09/2010 20:41:48
Quote Anchor link
Ik denk dat PHP is ingesteld om bestanden groter dan 5MB niet te uploaden.

Zet eens het volgende bovenin je script het upload nog eens een bestand groter dan 5MB.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);
?>


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.
Gewijzigd op 28/09/2010 20:45:19 door Martijn B
 
Dalando De Zuil

Dalando De Zuil

28/09/2010 22:12:59
Quote Anchor link
Na jullie 'gezeur' die check toegevoegd, maar hij geeft de selecteer een bestand error... ?

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
<?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>
 
Martijn B

Martijn B

28/09/2010 22:16:36
Quote Anchor link
Kijk eens naar je php instelling "upload_max_filesize".

Edit:

Volgens mij staat deze hier wel tussen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
phpinfo();
?>
Gewijzigd op 28/09/2010 22:22:25 door Martijn B
 
Arjan -

Arjan -

28/09/2010 22:47:50
Quote Anchor link
Antwoorden als 'gezeur' betitelen is totale onzin en onrespectvol naar diegene die je willen helpen, tevens voorkomt het verwijderen van exit() vele problemen.

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 -
 
- SanThe -

- SanThe -

28/09/2010 22:50:02
Quote Anchor link
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?
 

28/09/2010 22:53:24
Quote Anchor link
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.
 
Arjan -

Arjan -

28/09/2010 22:56:50
Quote Anchor link
SanThe Nvt op 28/09/2010 22:50:02:
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 -
 
Martijn B

Martijn B

28/09/2010 23:06:28
Quote Anchor link
De errors die Dalando De Zuil heeft zeggen mij totaal iets anders.

De index file bestaat niet...

Dus heeft "if(!empty($_FILES['file']))" wel zin.

Edit:

Maar wel vreemd dat file dan helemaal niet bestaat?
Gewijzigd op 28/09/2010 23:07:51 door Martijn B
 
Arjan -

Arjan -

28/09/2010 23:08:48
Quote Anchor link
Voer de code van Dalando maar eens uit en zet maar eens een print_r($_FILES['file']); binnen de if($_SERVER['....

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 -
 
Martijn B

Martijn B

28/09/2010 23:18:21
Quote Anchor link
@Arjan:

Dat lijkt mij idd logisch.

Ik gok op de instelling "upload_max_filesize" ...
 
Dalando De Zuil

Dalando De Zuil

29/09/2010 09:26:42
Quote Anchor link
Daar lag het uiteindelijk aan: upload_max_filesize is maxmimaal 2mb bij mij. Bedankt!
Gewijzigd op 29/09/2010 09:27:03 door Dalando De Zuil
 



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.