/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
getimagesize()[2] =3 eller 6?
Fra : Leif Neland


Dato : 15-04-09 12:09

Jeg har noget mystisk her fra noget "brugt" kode:

if ($scan = getimagesize($_FILES['object_file']['tmp_name']) ) && ( 1 ==
$scan[2] || 2 == $scan[2] || 3 == $scan[2] || 6 == $scan[2])

Hvad er meningen her?

Funktionen skal returnere true hvis det er et billede.
Men hvorfor teste mod 3 og 6?

Så vidt jeg kan læse, er værdierne for getimagesize()[2]
IMG_GIF = 1
IMG_JPG = 2
IMG_PNG = 4
IMG_WBMP = 8
IMG_XPM = 16
Så der returneres sandt hvis billede er
1 == IMG_GIF
2 == IMG_JPG
3 == IMG_GIF + IMG_JPG
6 == IMG_JPG + IMG_PNG

Hvorfor mon 3 og 6??

Leif



 
 
Dan Storm (15-04-2009)
Kommentar
Fra : Dan Storm


Dato : 15-04-09 23:24

Leif Neland skrev:
> Hvorfor mon 3 og 6??
>

Kan det tænkes det er et levn fra tidligere PHP versioner?

--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Arne Feldborg (16-04-2009)
Kommentar
Fra : Arne Feldborg


Dato : 16-04-09 00:27

"Leif Neland" <leif@neland.dk> skrev Wed, 15 Apr 2009 13:08:47 +0200


>Hvorfor mon 3 og 6??
>
Mit bedste bud må være, at det simpelthen er en fejl.

Hensigten kan have været, at checke om det er "enten det ene eller det
andet"

Resultatet er dog blevet, at man for png's vedkommende checker om det er
"både og".

Men da udsagnet vil være sandt både ved gif og ved jpg - og da png er
sjældent brugt - har det bare fået lov at stå.


Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste