Bildstorlek

PHP

9 svar · 266 visningar · startad av Web-Tor

Medlem sedan nov. 200013 890 inlägg
Trådstart#1

På en sida så har jag ett menysystem som ligger i en include-fil.

Menyn är uppbyggd av bilder som byter utseende när sidan är "active".

Så här ser koden ut lite förenklat:

$on="-on";
echo "<a href=\"sida1.php\"><img src=\"menu/bild"; if($node=="01") echo $on; echo ".gif\" height=\"15\" width=\"72\" alt=\"Text\"></a>";

Jag håller reda på vilken sida man är på genom att skicka med en variabel(node).
I exemplet ovan så skrivs något av följande ut:
bild.gif eller bild-on.gif

Nu till problemet:
Jag vill använda getimagesize() för att få fram bildstorleken.
HUR!!!

Medlem sedan juni 20001 251 inlägg
#2

Från manualen:

$imagehw = GetImageSize("bild.gif");
$imagewidth = $imagehw[0];
$imageheight = $imagehw[1];

------------------
SteveNet

Medlem sedan mars 2001185 inlägg
#3

elelr båda två med en gång:

$imagesz = getimagesize($img);
$imagesz = $imagesz[3];
Medlem sedan nov. 200013 890 inlägg
#4

Jo, jag vet hur getimagesize() fungerar det var inte det jag frågade efter. ;)

Problemet är att jag vill skriva ut det hela på EN rad. Jag kan inte skriva GetImageSize("bild.gif") eftersom jag inte vet vad bilden heter. Bildnamnet skapas ju på samma rad!?

Och hur skall jag få fram att det är just fjärde positionen i getimagesize()-array:en som jag vill skriva ut?

Medlem sedan mars 20007 896 inlägg
#5
$on="-on";
echo "<a href=\"sida1.php\"><img src=\"menu/bild"; if($node=="01") echo $on; echo ".gif\" height=\"15\" width=\"72\" alt=\"Text\"></a>";

Går inte den att ändra till:

$on = "-on";
$bild = "menu/bild";
( $node == "01" ) ? $bild = $on . ".gif" : $bild = ".gif";
$storlek = GetImageSize ( $bild );

echo "<a href=\"sida1.php\"><img src=\"" . $bild . "\" " . $storlek[ 3 ] . " alt=\"Text\"></a>";

:q

Medlem sedan nov. 200013 890 inlägg
#6

Nja, det är klart att det går att skriva som du föreslår Spin, men menyn består av typ 100 länkar.
I dagsläget blir det c:a 100 rader kod och med din kod blir det typ 400 rader. ;)
Jag hade tänkt att man skulle förenkla det för kunden (som skall uppdatera sidan) genom att använda getimagesize(). ;)

Medlem sedan mars 20007 896 inlägg
#7

Ah, det går inte att loopa då?

Medlem sedan nov. 200013 890 inlägg
#8

Nä det går inte eftersom bildnamnet, alt-texten och länken är ju olka på varje menyval...

Medlem sedan mars 20007 896 inlägg
#9

Då tycker jag att du får ta och ändra namn på bildfilerna. :e

Medlem sedan nov. 200013 890 inlägg
#10

Det är inte omöjligt men det blir lite svårare med alt-texterna. ;)

281 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
148 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)