[PHP] $_FILES leeg bij uploaden grote bestanden

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo, ik ben bezig met een upload scriptje.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
echo '<form name="addpic" method="post" action="upload.php" enctype="multipart/form-data">';
echo '<input type="hidden" name="MAX_FILE_SIZE" value="1000">';
echo '<input type="file" name="file">';
echo '<input type="submit" name="submit" value="Uploaden">';

$temp_name   = $_FILES['file']['tmp_name']; 
$file_name   = $_FILES['file']['name'];  
$file_type   = $_FILES['file']['type'];  
$file_size   = $_FILES['file']['size'];  
$result      = $_FILES['file']['error']; 
$file_length = strlen("$file_name"); 

if ($result == '2') {
  echo "Dit bestand is te groot om te uploaden, mag maximaal blablabla zijn.";
  exit();

echo "<pre>";
print_r($_FILES);


if (is_uploaded_file($_FILES['file']['tmp_name'])) {
  move_uploaded_file($_FILES['file']['tmp_name'],$uploaddir.'/'.$_FILES['file']['name']); 
}


Het is dus de bedoeling dat ie in $result z'n error code geeft zodat ik weet wat ik met het bestand wil.

komt dus zoiets uit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
Array
(
    [file] => Array
        (
            [name] => home.gif
            [type] => image/gif
            [tmp_name] => c:/program files/wamp/tmp\php104.tmp
            [error] => 0
            [size] => 176
        )

)


dus dan weet ik, error 0, prima, upload maar.
Zodra het error code 2 is, is het bestand groter dan in het opgegeven max_file_size uit de form.

Maar grote bestanden (5mb) geven mij geen array, gewoon helemaal leeg.
code:
1
2
3
Array
(
)

Ik gebruik Wamp op localhost, en heb upload_max_filesize in de php.ini op 20mb gezet.

Iemand enig idee wat er aan de hand kan zijn?

bvd

Acties:
  • 0 Henk 'm!

  • CoolGamer
  • Registratie: Mei 2005
  • Laatst online: 18:08

CoolGamer

What is it? Dragons?

Achter exit(); de } vergeten?
Ik heb even gezocht voor je en ik lees op meerdere plekken op internet dat mensen hetzelfde probleem hebben bij een error 2. Gebruik je de laatste versie van PHP? Anders zou je die errorcheck eruit moeten halen en gebruik maken van:
PHP:
1
2
3
4
5
6
7
if (is_uploaded_file($_FILES['file']['tmp_name'])) {
  move_uploaded_file($_FILES['file']['tmp_name'],$uploaddir.'/'.$_FILES['file']['name']); 
} 
else
{
die("mislukt");
}

¸.·´¯`·.¸.·´¯`·.¸><(((º>¸.·´¯`·.¸><(((º>¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸<º)))><¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸


Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Dit heeft te maken met post_max_size:
If the size of post data is greater than post_max_size, the $_POST and $_FILES superglobals are empty. This can be tracked in various ways, e.g. by passing the $_GET variable to the script processing the data, i.e. <form action="edit.php?processed=1">, and then checking if $_GET['processed'] is set.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
inderdaad, stond op 5m ofzo.

nu doet ie het goed, bedankt.

Acties:
  • 0 Henk 'm!

  • Equator
  • Registratie: April 2001
  • Laatst online: 09-09 15:29

Equator

Crew Council

#whisky #barista

Iets wat vrij duidelijk was geweest als je
PHP:
1
error_reporting(E_ALL)
bovenaan in je code had gezet :)

http://www.php.net/error_reporting :)

Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Het heeft niet te maken met dit probleem, maar ik vraag het me wel af...
Is er een manier om middels een superglobal op te vragen wat bijvoorbeeld de post_max_size is? :)
Als dat het geval is, welke is dit dan? :? Dan kan je namelijk makelijker checks op filessizes doen. :)

Acties:
  • 0 Henk 'm!

  • IntToStr
  • Registratie: December 2003
  • Laatst online: 21:06
GJ-tje schreef op vrijdag 27 april 2007 @ 14:01:
Het heeft niet te maken met dit probleem, maar ik vraag het me wel af...
Is er een manier om middels een superglobal op te vragen wat bijvoorbeeld de post_max_size is? :)
Als dat het geval is, welke is dit dan? :? Dan kan je namelijk makelijker checks op filessizes doen. :)
Gewoon met een ini_get opvragen lijkt me

Acties:
  • 0 Henk 'm!

  • Gertjan
  • Registratie: Oktober 2001
  • Laatst online: 09-09 17:11

Gertjan

mmmm, beer...

GJ-tje schreef op vrijdag 27 april 2007 @ 14:01:
Is er een manier om middels een superglobal op te vragen wat bijvoorbeeld de post_max_size is? :)
Als dat het geval is, welke is dit dan? :? Dan kan je namelijk makelijker checks op filessizes doen. :)
Dat kan inderdaad met ini_get(), zoals hierboven gezegd wordt, maar daar schiet je niet erg mee op. Het bestand moet namelijk eerst ge-upload zijn voordat je de filesize kunt opvragen. Bij mijn weten kan dat niet client-side, zonder iets als een Java-applet of ActiveX te gebruiken.

Acties:
  • 0 Henk 'm!

Verwijderd

Volgens mij ook niet. Ik heb er in het verleden eens mee gespeeld en ben toen toch maar met een applet begonnen. Mede omdat je dan ook meerdere files tegelijkertijd kunt uploaden in één veld.
Pagina: 1