webForumDet fria alternativet

Bild storlek

15 svar · 353 visningar · startad av Webslave

WebslaveMedlem sedan maj 2002662 inlägg
#1

Finns det något sätt att få fram bildens storlek på i PHP? (i pixlar alltså)
Jag tänkte så att man kan stänga ute bilder som är över 100 px i bredd och höjd... got any ideas? :e

netfeedMedlem sedan mars 2001516 inlägg
#2
$size = GetImageSize (bildensnamn.jpg);
WebslaveMedlem sedan maj 2002662 inlägg
#3

Det funkar inte... om jag inte har " framför och bakom bildnamnet så händer inget, och om jag har det så står det endast "Array"

netfeedMedlem sedan mars 2001516 inlägg
#4

sätt dit enkla ' ' och testa

WebslaveMedlem sedan maj 2002662 inlägg
#5

Står bara array... måste bilden vara i samma mapp?

netfeedMedlem sedan mars 2001516 inlägg
#6
$size = GetImageSize ($bildnr . ".jpg");

så ser den ut hoss mig iaf och det funkar hur bra som helst

netfeedMedlem sedan mars 2001516 inlägg
#7

Webslave skrev:

Står bara array... måste bilden vara i samma mapp?

ja det måste den
sätt annats mapp/bildensnamn.jpg istället

WebslaveMedlem sedan maj 2002662 inlägg
#8

Funkar inte... jag har testat det osså... det står bara array.
Jag får detta felmedelande om jag inte använder "":

getimagesize: Unable to open 'nopicgif' for reading. in c:\apache\htdocs\viewuser.php on line 72

netfeedMedlem sedan mars 2001516 inlägg
#9

testa att göra så som jag med att sätta

bildensnamn . ".jpg"
netfeedMedlem sedan mars 2001516 inlägg
#10

förlåt
detta måste vara med oxå

   // skriver ut bilden samt hur stor den skall vara
   echo ("<img src=bildensnamn.jpg " . $size[3] . "><br>");
Jörgen HPMedlem sedan feb. 20012 179 inlägg
#11

Webslave skrev:

Funkar inte... jag har testat det osså... det står bara array.
Jag får detta felmedelande om jag inte använder "":

getimagesize: Unable to open 'nopicgif' for reading. in c:\apache\htdocs\viewuser.php on line 72

Är det rätt sökväg och har du tillräckliga rättigheter på katalogen?

MatteMedlem sedan aug. 20002 970 inlägg
#12

getimagesize returnerar en array. Värdena kan fås med $size[0] osv. Tag en koll på:

$size = getimagesize ($bildnr . ".jpg");
foreach($size as $val) echo $val."<br>";

Manualen förklarar vad du får i din array: http://www.php.net/manual/en/function.getimagesize.php

WebslaveMedlem sedan maj 2002662 inlägg
#13

Ok... det är ordnat. Kan någon komma på något hur man får ut rena tal från $size[3]. Alltså det man får ut av den är ju height="100" width="100"... jag skulle vilja kunna plocka fram de där 100 från $size[3] och lägga dem i två olika variablar... kan man göra det med explode och i så fall hur?

ViktorMedlem sedan aug. 20021 710 inlägg
#14

Kan det vara,

$imagewidth = $size[0]; 
$imageheight = $size[1];

ser ut som att det är så man ska göra när man läser om det här http://www.php.net/manual/en/function.getimagesize.php, har dock inte provat själv.

/Viktor

WebslaveMedlem sedan maj 2002662 inlägg
#15

Aha... tackar så JÄTTE mycket... jag hade missat det där ;)

WebslaveMedlem sedan maj 2002662 inlägg
#16

Kom på att ni som kikar kanske vill se hur den slutliga koden blev:

<?
//Kollar om bilden är ifylld, om inte så returneras en default bild
if(!($rad["user_pic"])){
  echo "<img src=\"images/users/nopic.gif\" width=\"100\" height=\"100\" alt=\"".$rad["username"]." har ingen bild\">";
  }
  else{
  echo "<img src=\"http://".$rad["user_pic"];
  $size = GetImageSize ("http://".$rad["user_pic"]);
//Om bildens storlek över skrider 100px åt något håll kläms den ihop till max 100*100px
  if($size[0]>100 || $size[1]>100){
    echo "\" height=\"100\" width=\"100\" alt=\"".$rad["username"]."'s bild\">";
  }
  else{
    echo "\" {$size[3]} alt=\"".$rad["username"]."'s bild\">";
  }
  }
  ?>

Lite rörigt kanske men det fungerar hur bra som helst... tackar till er alla som hjälpt mig :bire

131 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
128 ms — hämta tråd, inlägg och bilagor (db)