GetImageSize checkt niet?

Pagina: 1
Acties:

  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
Zoals de topic titel het al zegt. De GetImageSize size doet het niet echt. Hij upload de foto gewoon, en geeft dus niet een foutmelding. :?

Ik snap niet waar het aan ligt :)
PHP:
1
<?      if (!empty($foto)){         $size = GetImageSize($foto);         $width  = $size[0];          $height = $size[1];         if ($width > "200" || $height > "300")            {             melding("Fout", "Je foto heeft een grotere resolutie dan 200x300.", "Klik hier om je foto opnieuw toe te voegen", "editprofile.php");            } else {         if (is_uploaded_file($foto))            {            move_uploaded_file($foto, "fotos/$user_id.jpg");              }      melding("Succes", "Je Profiel is gewijzigd.", "Klik hier om je profiel te bekijken", "profile.php?id=$login->userid");  } } else {?>

  • Grum
  • Registratie: Juni 2001
  • Niet online
Dat heb je goed gezien, getimagesize checked inderdaad nix ;)

Wat is je vraag cq probleem nou eigenlijk ?

  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
Joeppie :) Dan weet ik dat :+

Nu alleen nog de "Waarom". Meestal zie ik dat soort dingen wel op het moment dat ik het hier post. Maar deze keer zit het wat tegen :)
Wat is je vraag cq probleem nou eigenlijk ?
Nou, ik wil graag weten waarom hij het niet checkt :)

  • Grum
  • Registratie: Juni 2001
  • Niet online
Je had ook gewoon even op de manual page kunnen kijken van getImageSize maar ok.

http://php.net/getimagesize

Can't be that hard.

[geirriteerd-mode]
[b]WAT ZOU IE DAN MOETEN CHECKEN !?!?!?[/b]

Damn wees es duidelijk ofzo.

  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
Hij moet dus checken of het plaatje niet groter is dan 200 x 300 pixels. Is die dat wel dan geeft die een foutmelding, zo niet dan slaat die het plaatje gewoon op.

Sorry, ik dacht dat dat wel duidelijk was.

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Op vrijdag 05 april 2002 15:31 schreef Grum het volgende:
Je had ook gewoon even op de manual page kunnen kijken van getImageSize maar ok.

http://php.net/getimagesize

Can't be that hard.

[geirriteerd-mode]
[b]WAT ZOU IE DAN MOETEN CHECKEN !?!?!?[/b]

Damn wees es duidelijk ofzo.
DIEP ADEM HALEN.... ff puffen....

nog een slok koffie... Errmmm beter niet .... :+

Hij wil testen of het plaatje de juiste grootte heeft? of het uberhaubt wel een plaatje is?

Programmer - an organism that turns coffee into software.


  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
Ik ga voor deze:"Hij wil testen of het plaatje de juiste grootte heeft"

De vraag of het wel een plaatje is bouw ik er nade tijd wel in. Ik zit te prutsen, want ik kom er niet uit :)

  • Grum
  • Registratie: Juni 2001
  • Niet online
ik snap je probleem echt niet hoor.

wat je wil doet de code die jij hebt gepost.

wat gaat er precies mis ?

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Op vrijdag 05 april 2002 15:38 schreef Grum het volgende:
ik snap je probleem echt niet hoor.

wat je wil doet de code die jij hebt gepost.

wat gaat er precies mis ?
Ik denk dat de getImageSize($foto) fout gaat en eigenlijk
getImageSize($foto["tmp_name"]) moet zijn.

Verder is het niet netjes om strings met ints te gaan vergelijken.

if ($width > "200" || $height > "300")

moet worden

if ($width > 200 || $height > 300)

Programmer - an organism that turns coffee into software.


  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
Ik zal het even wat duidelijker proberen uit te leggen :)
PHP:
1
<?      if (!empty($foto)){         $size = GetImageSize($foto);         $width  = $size[0];          $height = $size[1];         if ($width > "200" || $height > "300")            {             melding("Fout", "Je foto heeft een grotere resolutie dan 200x300.", "Klik hier om je foto opnieuw toe te voegen", "editprofile.php");            } else {         if (is_uploaded_file($foto))            {            move_uploaded_file($foto, "fotos/$user_id.jpg");              }      melding("Succes", "Je Profiel is gewijzigd.", "Klik hier om je profiel te bekijken", "profile.php?id=$login->userid");  } } } else {?>

Ok, wat gebeurd er allemaal. Je hebt een formulier, daarbij kan je ook een foto meegeven. Nu gaat die kijken (dan komt je bij deze code).

Is er een foto meegegeven? ($foto).
Zo ja, dan haalt die de gegevens van die foto op (getimagesize).
Dan gaat die kijken: Als de foto GROTER is dan 200 x 300 pixels dan geeft die een fout melding.
Als die kleinder is dan saved die de foto op de server.

Het probleem is alleen dat, ookal is de foto WEL groter dan 200 x 300, hij hem toch upload en geen foutmelding geeft.

Ik hoop dat het nu duidelijker is, sorry voor mijn wazigheid :)

  • Grum
  • Registratie: Juni 2001
  • Niet online
1/ wat zit der in $foto
2/ wat zit der in $size[0] voor je em checked
2/ wat zit der in $size[1] voor je em checked

GoT is niet voor andersmans debug werk

  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Op vrijdag 05 april 2002 15:48 schreef Grum het volgende:
[..]
GoT is niet voor andersmans debug werk
Heb jij je nick zelf uitgekozen, of is 'ie aan je toegekend door de mede GoT-ers. Relax man, het is bijna weekend. 8-)

  • Grum
  • Registratie: Juni 2001
  • Niet online
Ik meen dat et zelfs in de FAQ staat .. zo niet .. strax eventjes D2k vragen offie et erin zet.

  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
Op vrijdag 05 april 2002 15:48 schreef Grum het volgende:
1/ wat zit der in $foto
2/ wat zit der in $size[0] voor je em checked
2/ wat zit der in $size[1] voor je em checked

GoT is niet voor andersmans debug werk
1/ een JPG van bijvoorbeeld 500 x 800
2/ De width van dat plaatje dus $size[0] == 500 in dit geval
2/ De height van dat plaatje dus $size[1] == 800 in dit geval

Ik weet wat wel en niet kan op GoT. Maar ik heb er al erg lang mee zitten klooien, maar hij doet het gewoon niet. En ik had gehoopt dat iemand anders zou kunnen zien wat er mis zou zijn.

Het is niet zo dat ik meteen na 1 uur pielen al hier dingen ga zitten posten. Ik ben hier al 2 dagen mee aan het klooien.

Ik heb dus net de variabelen $width en $height eens opgevraagt, en daar staan idd de width en height van het plaatje netjes in.

Getimagesize doet het dus wel, alleen de controle niet.

  • Grum
  • Registratie: Juni 2001
  • Niet online
doe eens:
code:
1
var_dump($foto);

en na de getimagesize een
code:
1
var_dump($size);

es en laat ons eens even zien wat erin zit.

  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
Dit zit erin:
string(14) "/tmp/php4KTc90"


array(6) { [0]=> int(80) [1]=> int(60) [2]=> int(2) [3]=> string(22) "width="80" height="60"" ["bits"]=> int(8) ["channels"]=> int(3) }


Dit is dus als ik een tumbnail van 80 x 60 pixels meegeef :)

  • elnino
  • Registratie: Augustus 2001
  • Laatst online: 03-09 05:13
Op vrijdag 05 april 2002 15:22 schreef 4Real het volgende:
Zoals de topic titel het al zegt. De GetImageSize size doet het niet echt. Hij upload de foto gewoon, en geeft dus niet een foutmelding. :?

Ik snap niet waar het aan ligt :)
Als eerste zou ik zeggen: gebruik een betere inspringing in je code. Dat heen en weer gaan met de code is niks.

Dus:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
if()
{
    if()
    {
      //code
    }
    else
    {
      if()
      {
        //code
      }
    }
}

Dat maakt het iets duidelijker. En probeer in ieder geval die var_dump zoals Grum in genuanceerde woorden zegt.

  • elnino
  • Registratie: Augustus 2001
  • Laatst online: 03-09 05:13
Op vrijdag 05 april 2002 16:06 schreef 4Real het volgende:
Dit is dus als ik een tumbnail van 80 x 60 pixels meegeef :)
Dan krijg je inderdaad geen foutmelding. Maar als je een plaatje groter dan 200x300 meegeeft?

Verwijderd

Op vrijdag 05 april 2002 15:44 schreef LuCarD het volgende:

[..]

Ik denk dat de getImageSize($foto) fout gaat en eigenlijk
getImageSize($foto["tmp_name"]) moet zijn.

Verder is het niet netjes om strings met ints te gaan vergelijken.

if ($width > "200" || $height > "300")

moet worden

if ($width > 200 || $height > 300)
Heb je het boevenstaande al veranderd?

  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
Wacht even nu breekt me klomp.
Ik zit er al de heletijd mee te klooie. Elke keer met grote foto's. En zonder wat aan de code te hebben veranderd doet die het nu opeens wel goed. }:O

Ik denk dat die wat dingen in de cash heeft zitten gooien ofzo.

Nou, iig heel erg bedankt iedereen! Weet wat geleerd met de var_dump functie (die kende ik nog niet).

Jullie zijn top :Y)

  • Grum
  • Registratie: Juni 2001
  • Niet online
Op vrijdag 05 april 2002 16:06 schreef 4Real het volgende:
Dit zit erin:
string(14) "/tmp/php4KTc90"


array(6) { [0]=> int(80) [1]=> int(60) [2]=> int(2) [3]=> string(22) "width="80" height="60"" ["bits"]=> int(8) ["channels"]=> int(3) }


Dit is dus als ik een tumbnail van 80 x 60 pixels meegeef :)
Dit gaat dan toch goed :?

Doe hetzelfde nu eens met een foto die volgens jou fout zou moeten gaan ? krijg je dan ook de goede informatie ?

[edit] nevermind dan ...
Pagina: 1