---
title: "Visa bildnamn, storlek, höjd och bredd"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/111531-visa-bildnamn-storlek-höjd-och-bredd"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "addeweb"
published: "2004-09-14T11:07:27.000Z"
updated: "2006-01-23T00:14:04.000Z"
replies: 9
views: 681
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/111531-visa-bildnamn-storlek-höjd-och-bredd"
---

# Visa bildnamn, storlek, höjd och bredd

## #1 — addeweb, 2004-09-14T11:07Z

Jag har sökt svaret på  hur man löser det där med att visa aktuell 
bilds namn, storlek och ev höjd/bredd när man öppnar ett 
formulär-sida till en visningssida men tyvärr fanns det inte någon
lösning. Finns det  någon som har gjort något liknande? Man ska 
nog lägga in dessa uppgifter i databasen också. GetImageSize() 
ska man nog också använda.

Permalänk: https://www.webforum.nu/p/111531

## #2 — lunne82, 2004-09-14T11:22Z

list($width, $height, $type, $attr) = getimagesize("img/flag.jpg");

Här behöver nog inte $width eller $height en förklaring, men de andra.
$type är filken filtyp bilden är. Vad siffran står för hittar du i manualen för getimagesize().
$attr innehåller strängen "height=64 width=32" om bilden är 64px hög och 32px bred.
Vad är det som inte funkar?

Permalänk: https://www.webforum.nu/p/1436658

## #3 — addeweb, 2004-09-14T12:03Z

Så här ser koden ut:

```php
<?php
if (isset($_POST['submit'])) { 
   $twoMB= 2 * 1048576;

	if (is_uploaded_file($_FILES['pict']['tmp_name'])
		and ( $_FILES['pict']['size'] < $twoMB )) {
		
		$pictureFile = "";
		$pictureFile = $_FILES['pict']['tmp_name'];
		$name = $_FILES['pict']['name'];
		$size = $_FILES['pict']['size'];
	
	/** **************************************
	*	Här tar jag ut om de är jpg eller inte
	*/
		$ending = substr($name, -3);
		$ending =  strtolower($ending);

	/** **************************************
	*	I denna if-sats kontrolleras det om
	*	filen är mindre än två MB och att det är
	*	en jpeg-bild.
	*/
		if ( ($size <= $twoMB ) and ( $ending == 'jpg')){
			
			
		$picture 	= imageCreateFromJpeg($pictureFile);

	/** *********************************************************
	*	Här plockar jag ut de aktuella dimensionerna på bilden.	
	*/
		$image	= $picture;
		$width 	= imagesx($picture);
		$height = imagesy($picture);
		$newSize = 120;
		if ( $width > $newSize )
		{
			$radie 		= $newSize / $width;
			$newWidth 	= round($width*$radie);
			$newHeight	= round($height*$radie);
		}  else if ( $height > $newSize ) {
			$radie 		= $newSize / $width;
			$newWidth 	= round($width*$radie);
			$newHeight	= round($height*$radie);
		} else {				
			$newPicture = imageCreateTrueColor($width, $height);
			$newWidth  = $width;
			$newHeight = $height;
		}
		if ( $newHeight > $newSize )
		{
			$radie 		= $newSize / $newWidth;
			$newWidth 	= round($newWidth*$radie);
			$newHeight	= round($newHeight*$radie);
		}	
		$newPicture = imageCreateTrueColor($newWidth, $newHeight);
		ImageCopyResized($newPicture, $picture, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
		

	//  chmod(images/users/$name, 0777);
		/** ***************************************
		*	Här sparas bilden samt rawdata raderas
		*/
			imagejpeg($newPicture, "images/teqla.jpg"); 

			imagedestroy($newPicture);

		/** *****************************************************************/
			

		echo "
				Bilden du laddade in var storlek: $width x $height<BR />
			 	Den nuvarande storleken är: $newWidth x $newHeight<br />
		        Bilden är sparad <a href=\"teqla_uppdate.php\">[ Tillbaka ]</a>";
		    }
	} else {
		echo "
			<br />Bilden är inte sparad<br />
			Antingen så var det fel format på bilden eller var bilden för stor<br />
			<a href=\"teqla_uppdate.php\">[ OK ]</a>";}	
} 
if (!isset($_POST['submit'])) { ?>
<form name="form2" method="post" action="<?=$_SERVER['PHP_SELF']?>"  ENCTYPE="multipart/form-data">
	<tr><td><br /><br /><b>Ladda upp bild:</b><br /><input name="pict" type="file" size="40" class="input">&nbsp;
<input type="submit" name="submit" value="Ladda" class="button" /></td></tr>
	</form>
<?php } ?>
```

För tillfället visas det inte något om bildens uppgifter. Echo-sats 
ska läggas till i den andra isset-delen nere. Bilden laddas upp 
från disken men uppgifterna ska nog hämtas från tabellen, tror jag. 
När det gäller att byta bild, då ska man nog göra det med en 
update-fråga för bilduppgifterna överst. Min partner har bett mig
att försöka lösa det här men jag känner inte till mycket om bilder
kontra PHP. Finns det någon bra lösning på det här?

Permalänk: https://www.webforum.nu/p/1436667

## #4 — addeweb, 2004-09-14T16:07Z

Hur ska jag se till att getImagesize() passar in nånstans i koden? Sedan ska man lägga in bildens format(höjd, bredd), storlek och namn i datasen.

Permalänk: https://www.webforum.nu/p/1436791

## #5 — lunne82, 2004-09-14T19:02Z

getImagesize() kan du ju lägga in direkt efter $pictureFile, såhär:
$pictureFile = $\_FILES\['pict'\]\['tmp_name'\];
$pictureInfo = getImageSize($\_FILES\['pict'\]\['tmp_name'\]);

Eller som jag skrev ovan, med list().

Permalänk: https://www.webforum.nu/p/1436908

## #6 — addeweb, 2004-09-16T12:00Z

Den fungerar nu. Tack för hjälpen!

Permalänk: https://www.webforum.nu/p/1440694

## #7 — addeweb, 2004-09-17T11:59Z

Jag tänkte på en annan sak med tanke på bildens bredd och 
höjd. I koden ovan finns en variabel $newsize med värdet 120 
som gör att bildens bredd blir 120 pixlar efter att bilden har 
laddats upp. Att ha en stående bild går bra med den bredden 
men om man istället använder en liggande bild, då blir den 
liten. Hur gör man då så att det inte ska spela någon roll om 
bilden är stående eller liggande?  Bilden ska inte heller bli 
förvrängd.  Hur löser jag det?

Permalänk: https://www.webforum.nu/p/1441180

## #8 — lunne82, 2004-09-17T17:38Z

Jag postade en länk \[1\] i en annan tråd här på wF. I de funktionerna ändras alltid bilden till 100px bred och höjden justeras proportionellt mot det. Använd den kod-raden:
$h = ceil(($imagedata\[1\] / $imagedata\[0\]) \* $w); // To keep relations
Kolla proportionerna på bilden för att veta hur du ska ändra storlek på den...

<http://www.pho.nu/forum/f23t32.html>

Permalänk: https://www.webforum.nu/p/1441351

## #9 — addeweb, 2004-09-24T12:46Z

Det fungerar nu.

Permalänk: https://www.webforum.nu/p/1444466

## #10 — pardon_me, 2006-01-23T00:14Z

.

..

Permalänk: https://www.webforum.nu/p/1752911

---

Tråden på webben: https://www.webforum.nu/amne/php/111531-visa-bildnamn-storlek-höjd-och-bredd
