[php] upload vraagje

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • ViNyL
  • Registratie: Augustus 2001
  • Niet online
Ik heb een upload script geschreven voor documenten etc. Script werkt prima, tot ik een check toevoegde om te kijken of er wel een bestand geselecteerd is.
PHP:
1
2
3
4
if (!$_FILES['file']['name'])
  {

  }

Nu het probleem. Als je niets selecteerd dan geeft me script idd een melding dat er geen bestand geselecteerd is.
Maar nu dit: de size limiet php.ini is 8MB en ook voor tmp files is dit 8MB. Als ik in me script op geef dat een file niet groter dan 1mb mag zijn gaat dit nog goed, todat ik een file selecteer die groter is dan 8 MB, er wordt dan volgens mij geen tmp file aangemaakt op de server en dan is $_FILES['file']['name'] dus ook automatisch leeg..

Is er een goede manier om dit af te kunnen vangen?

Acties:
  • 0 Henk 'm!

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

isset ?

IIRC kan je ook in een form een max file-size opgeven
[edit] yep

[ Voor 25% gewijzigd door TheRookie op 03-05-2006 14:35 ]


Acties:
  • 0 Henk 'm!

  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 12:37

Gonadan

Admin Beeld & Geluid, Harde Waren
de PHP functie is_uploaded_file() kan dat :)

of move_uploaded_file()
;)

php.net roelz

Look for the signal in your life, not the noise.

Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


Acties:
  • 0 Henk 'm!

Verwijderd

File size kan je ook in $_FILES var opvragen toch? $_FILES['name']['filesize'] ofzo. Overigens op je eerste vraag zou ik het zo doen:

[code=php]
if( is_uploaded_file($_FILES['name']['tmp_name']) ) {
echo 'Er is iets geupload';
}
[/code

EDIT: genodan was met net voor :p

[ Voor 19% gewijzigd door Verwijderd op 03-05-2006 14:38 ]


Acties:
  • 0 Henk 'm!

  • ViNyL
  • Registratie: Augustus 2001
  • Niet online
Nee helaas wordt er geen tmp file aangemaakt als de file die gekozen is groter is dan de max file size..
Ik heb het zo opgelost:
PHP:
1
2
3
4
if ($_FILES['userfile']['error'] = 1)
  {
    //what ever
  }

Acties:
  • 0 Henk 'm!

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

neem aan dat je ==1 bedoeld ;)

Acties:
  • 0 Henk 'm!

  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 12:37

Gonadan

Admin Beeld & Geluid, Harde Waren
ViNyL schreef op woensdag 03 mei 2006 @ 14:39:
Nee helaas wordt er geen tmp file aangemaakt als de file die gekozen is groter is dan de max file size..
Dan zal is_uploaded_file() toch gewoon een false geven?
Dan kan je ook gelijk misbruik afvangen :)

PHP:
1
2
3
4
5
6
<?
if (is_uploaded_file($_FILES['file']['tmp_name']))
  {

  }
?>


== idd ;)

En volgens mij moet je ook tmp_name gebruiken voor het tijdelijke bestand.
Zie ook hier

[ Voor 22% gewijzigd door Gonadan op 03-05-2006 14:42 ]

Look for the signal in your life, not the noise.

Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8

Pagina: 1