---
title: "Göra thumbnails med GD"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/109875-göra-thumbnails-med-gd"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "asmodie"
published: "2004-08-23T15:52:38.000Z"
updated: "2004-08-24T19:14:39.000Z"
replies: 7
views: 400
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/109875-göra-thumbnails-med-gd"
---

# Göra thumbnails med GD

## #1 — asmodie, 2004-08-23T15:52Z

Är det någon på forumet som har koll på hur man rezisar bilder med GD. En polare som undrar, som skulle behöva lite hjälp med det. Jag postar problemet så fort jag får det i mailen av honom.

Problemet är i alla fall att PHP visar en massa teken i  stället för bilder.

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

## #2 — Duffer, 2004-08-23T16:44Z

Kontrollera så att det inte finns några mellanslag som kan skrivas ut på sidan.

t.ex.:

\----------------------------- SIDSTART

\<?PHP
KOD
?\>

ovan är fel

\----------------------------- SIDSTART
\<?PHP
KOD
?\>

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

## #3 — spango, 2004-08-23T17:51Z

Kan vara att han inte sätter rätt content-type också...

```php
header('Content-Type: image/gif'); // eller png eller jpeg
```

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

## #4 — asmodie, 2004-08-24T07:33Z

Så här är koden. varför kan den tänkas generera skräptecken i stället för en bild?

Bilagor:

- [gd.txt](https://www.webforum.nu/a/4386.txt)

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

## #5 — Skarre, 2004-08-24T10:18Z

Att bara skriva ut en bild med "imagejpeg()" rakt ut bland annat innehåll kan väl ändå inte fungera!? Lägg koden som genererar bilden i en separat fil och länka till den. 

Exempel:

```
<img src="bildskript.php?id=x" alt="" />
```

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

## #6 — Seiza, 2004-08-24T14:59Z

Tja det är jag som inte får det hela att funka. Nu har jag dock insett att bilden ska ändra storlek innan jag lägger in den i databasen, lite smartare kanske. Men som nybörjare på PHP vet jag inte riktigt hur jag ska gå tillväga. Att ladda upp bilden är inga problem, svårigheten som jag ser det är att skala om den innan. Koden jag jobbar på just nu:

```php
// Kollar om någon fil har laddats upp
if (is_uploaded_file($_FILES['bild']['tmp_name'])) {
   // Sparar det temporära namnet på filen i en variabel
   $tmpnamn = $_FILES['bild']['tmp_name'];

   // Sparar det riktiga namnet på filen
   $namn = $_FILES['bild']['name'];

	$im_src = imagecreatefromjpeg('X');  //Om detta är ett möjligt tillvägagångssätt, vad skriver jag då vid X?
	$src_w = imagesx($im_src);
	$src_h = imagesy($im_src); 

	$im_dst = imagecreate(200,150);
	
	imagecopyresized($im_dst, $im_src, 0, 0, 0, 0, 200, 150, $src_w, $src_h);

   // Flyttar den temporära filen till mappen mapp och byter till rätt filnamn
   move_uploaded_file($tmpnamn, "/usr/local/webhome/php_rb22ah/lab4_2/bilder/$im_dst");
```

 

Tacksam för lite guruhjälp..  :)

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

## #7 — tronez, 2004-08-24T18:51Z

jag löste ditt problem med att först ladda upp bilden, sen skala den precis efter uppladdningen samt spara över den gamla filen med den nya skalade bilden

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

## #8 — Pedda, 2004-08-24T19:14Z

Gäller det för GD1 eller GD2?

Postar lite kod från ett av mina uppladdningsskript:

```php
// Ladda upp ny bild
if ($_POST['fil'] == Ja){
$mapp = "../thumbs/";
$mapp2 = "../foton/";

	// Ta bort STORA bokstäver
	$_FILES["file"]["name"] = strtolower($_FILES["file"]["name"]);
	
	// Ta bort mellanslag
	$_FILES["file"]["name"] = str_replace(' ', '_', $_FILES["file"]["name"]);
	
	// Ta bort å
	$_FILES["file"]["name"] = str_replace('å', 'a', $_FILES["file"]["name"]);
	
	// Ta bort ä
	$_FILES["file"]["name"] = str_replace('ä', 'a', $_FILES["file"]["name"]);
	
	// Ta bort ö
	$_FILES["file"]["name"] = str_replace('ö', 'o', $_FILES["file"]["name"]);
	
if (file_exists($mapp.$_FILES['file']['name'])) {
   	header("location: galleri.php?Uppladdad=Kopia");
	exit;
}
	if(!empty($_FILES['file']['name'])) { 
	$file = $_FILES['file']; 
	$storlek = getimagesize($_FILES['file']['tmp_name']);
	$nybredd = 90;
	$nyhojd = 90;
	$nybredd2 = 600;
	$nyhojd2 = 600;
	// kolla filändelsen  
	$filandelse = explode('.',$file['name']); 
	$sort = count($filandelse) - 1; 
	$so = $filandelse[$sort];
	// Allowed filetypes
	if ($so != 'jpg'){   
		// Fel filtyp 
		header("location: galleri.php?Uppladdad=Nej");
		exit;
	}
	// skapa tumnagel
	if (($storlek[0] - $nybredd) >= ($storlek[1] - $nyhojd)) {
		$bildbredd = $nyhojd;
		$bildhojd = ($nybredd/$storlek[0])*$storlek[1];
	} else {
		$bildhojd = $nyhojd;
		$bildbredd = ($bildhojd/$storlek[1])*$storlek[0]; 
	}
	$bild_kalla = imagecreatefromjpeg($file['tmp_name']);
	
	// GD2
	$bild_skapa = imagecreatetruecolor($bildbredd, $bildhojd);
	imagecopyresampled ($bild_skapa, $bild_kalla, 0, 0, 0, 0, $bildbredd, $bildhojd, $storlek[0], $storlek[1]);
	
	// GD1
	//$bild_skapa = imagecreate($bildbredd, $bildhojd);
	//imagecopyresized ($bild_skapa, $bild_kalla, 0, 0, 0, 0, $bildbredd, $bildhojd, $storlek[0], $storlek[1]);
	
	imagejpeg ($bild_skapa, $mapp.$file['name'], 100);
	imagedestroy ($bild_skapa);
	// skapa stor bild
	if (($storlek[0] - $nybredd2) >= ($storlek[1] - $nyhojd2)) {
		$bildbredd = $nyhojd2;
		$bildhojd = ($nybredd2/$storlek[0])*$storlek[1];
	} else {
		$bildhojd = $nyhojd2;
		$bildbredd = ($bildhojd/$storlek[1])*$storlek[0]; 
	}
	$bild_kalla = imagecreatefromjpeg($file['tmp_name']);
	
	// GD2
	$bild_skapa = imagecreatetruecolor($bildbredd, $bildhojd);
	imagecopyresampled ($bild_skapa, $bild_kalla, 0, 0, 0, 0, $bildbredd, $bildhojd, $storlek[0], $storlek[1]);
	
	// GD1
	//$bild_skapa = imagecreate($bildbredd, $bildhojd);
	//imagecopyresized ($bild_skapa, $bild_kalla, 0, 0, 0, 0, $bildbredd, $bildhojd, $storlek[0], $storlek[1]);
	
	imagejpeg ($bild_skapa, $mapp2.$file['name'], 100);
	imagedestroy ($bild_skapa);
	header("Location: galleri.php?Uppladdad=Ja");
	exit;
	}
}
?>
```

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

---

Tråden på webben: https://www.webforum.nu/amne/php/109875-göra-thumbnails-med-gd
