---
title: "Skapa flera thumbnails"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/162428-skapa-flera-thumbnails"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "henkepenka"
published: "2007-07-11T08:15:07.000Z"
updated: "2007-07-11T11:45:19.000Z"
replies: 4
views: 424
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/162428-skapa-flera-thumbnails"
---

# Skapa flera thumbnails

## #1 — henkepenka, 2007-07-11T08:15Z

Hej,

Nu har det varit många frågor ang. bilduppladdning och skapande av thumbnails här på forumet. Nu kommer det en till.

Jag laddar upp en zipfil på servern, extraherar bilderna som är i, lägger till info om bilderna i min MySQL-databas.
Sen vill jag även skapa thumbnails av dessa bilder. I den koden som jag skickar med så packas alla filer upp, alla info läggs in i MySQL´en men endast 1 thumbnail skapas, och det är den första bilden i zipfilen. Inget felmeddelande , utan jag skickas tillbaka med "Header("Location: admin.php?katId=1");" precis som jag ska. Varför blir det så?

```php
if($_GET['action'] == "extract"){
	
	$zipFilnamn = $_POST['txtZipFil'];
	
	$zip = new PclZip($zipFilnamn);
	if ($zip->extract(PCLZIP_OPT_PATH, 'pictures') == 0) {
		die("Error : ".$zip->errorInfo(true));
	}
	
	if (($list = $zip->listContent(1)) == 0) {
		die("Error : ".$zip->errorInfo(true));
	}
	
	for ($i=0; $i<sizeof($list); $i++) {
	
		for(reset($list[$i]); $key = key($list[$i]); next($list[$i])) {
			if($key == "filename"){
				$uppladdadBild = $list[$i][$key];
			}elseif($key == "size"){
				$bildStorlekTmp = $list[$i][$key];
				$bildStorlek = ($bildStorlekTmp / 1000000);
			}		
		}

		$PhotoUploaded = date("Y-m-d H:i:s");

		//Lägger till i MySQL-databasen
		

		//Skapa tumnaglar		
		
		$helasokvagen = "pictures/$uppladdadBild";
		$tumnagel = "pictures/thumb_$uppladdadBild";
		
		$src_im = imagecreatefromjpeg($helasokvagen);
		
		$dstW = 150;  // Bredd på thumbnail 
		$dstH = 150; // Höjd på thumbnail 
		
		$dst_im = imagecreatetruecolor($dstW, $dstH); 
		
		$srcW = imagesx($src_im); 
		$srcH = imagesy($src_im); 
		
		imagecopyresampled( $dst_im, $src_im, 0, 0, 0, 0, $dstW, $dstH, $srcW, $srcH); 
		imagejpeg($dst_im, $tumnagel, 60); 

		imagedestroy($src_im); 
		imagedestroy($dst_im); 	
	}
	Header("Location: admin.php?katId=1");
}
```

 

Tacksam för hjälp!

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

## #2 — itpastorn, 2007-07-11T09:34Z

Kan du ge en var_dump på $list?

Sedan verkar din inre for-loop vara ett omständligt sätt att replikera foreach. Vad har syntaxen för syfte?

Också den yttre loopen skulle jag gjort med foreach.

```php
foreach ( $list as &$listpost ) {
    foreach ( $listpost as $key => $listpostvalue ) {
```

Att skicka som referens i foreach kräver PHP 5, men torde inte behövas för denna operation. Jag tar med det för elegansens skull.

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

## #3 — henkepenka, 2007-07-11T09:46Z

Tack så mkt! Funkar perfekt!

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

## #4 — @nders, 2007-07-11T11:07Z

Va bra att det funkade. Då kanske du kan passa på att acceptera **rätt** inlägg som lösning på problemet också?

[Hur markerar jag vilket svar som löste mitt problem?](http://www.webforum.nu/faq.php?faq=vb_board_usage#faq_faq_acceptance)

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

## #5 — henkepenka, 2007-07-11T11:45Z

Sorry, my misstake!

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

---

Tråden på webben: https://www.webforum.nu/amne/php/162428-skapa-flera-thumbnails
