---
title: "Multi-upload + skapa miniatyr?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/175935-multi-upload-skapa-miniatyr"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Guldstrand"
published: "2008-12-18T19:49:49.000Z"
updated: "2008-12-20T11:32:15.000Z"
replies: 4
views: 718
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/175935-multi-upload-skapa-miniatyr"
---

# Multi-upload + skapa miniatyr?

## #1 — Guldstrand, 2008-12-18T19:49Z

Har följande kod för att ladda upp flera bilder samtidigt.

```php
<?php 

error_reporting(E_ALL);
ini_set("display_errors", "1"); 

$dir       = 'temp/';
$filetyper = 'jpg, jpeg, gif, png';
$storlek   = 0;
 
print '<div id="upload"><h2>Multiupload:</h2>';
 
if(isset($_POST['submit'])) {
 
foreach($_FILES as $id => $value) {
 
if(!empty($value['name'])) {
 
  $typer     = explode(', ', $filetyper);
  $fil       = explode('.', $value['name']);
  $extension = $fil[sizeof($fil)-1];
  
  if(!in_array($extension, $typer)) {
  
    die('Endast filer av typerna '.$filetyper.' får laddas upp.');
   
  }
  
  if(is_uploaded_file($value['tmp_name'])) {
  
    move_uploaded_file($value['tmp_name'], $dir . $value['name']);
   $status[$value['name']] = 1;
   $storlek += $value['size'];
  }
  
}
 
}
  if($status) {
 
       print '<title>Bilder uppladdade</title><strong>Dessa bilder har blivit uppladdade:</strong><br />';
 
       foreach($status as $id => $value) {
 
            if($value == 1) { 
 
                print("<img src=\"temp/$id\" alt=\" $id \" title=\" $id \" width=\"200\"/><br /><br />\n"); 
 
            }
       }
      
	$storlek = $storlek / 1000;
       $storlek = number_format(round($storlek, 1),2);
 
       print '<strong>Total storlek:</strong> '.$storlek.'kb <br /><a href="bildtest.php">Gå tillbaka</a>'; 

// SPARA FILNAMNET I MYSQL 
include("inc/mysql.php");

$bild = db_escape($id); 
mysql_query("INSERT INTO bilder (filnamn) VALUES ('$bild')") or die (mysql_error());
  
  } else { 
  
       print 'Ingenting laddades upp <a href="bildtest.php">Gå tillbaks</a>';
      
  } 
 
 
} else {
 
  print("<title>Ladda upp bilder</title>");
  print '<form action="bildtest.php" method="post" enctype="multipart/form-data">';
  print '<input type="file" name="bild1" /><br />';    
  print '<input type="file" name="bild2" /><br />';   
  print '<input type="file" name="bild3" /><br />';   
  print '<input type="file" name="bild4" /><br />';   
  print '<input type="file" name="bild5" /><br />';   
  print '<input type="submit" name="submit" value="Lägg till bilder" />';
  print '</form>';
 
}
 
print '</div>';
?>
```

Koden fungerar bra, men skulle gärna vilja skapa miniatyrer av samtliga bilder också, (under uppladdningen).
Sedan undrar jag hur man sparar en titel till resp. bild, om jag lägger till "\<input type="text" name="titel"/\>".

Någon som har lust att hjälpa mig med detta?  :r

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

## #2 — Zaiman, 2008-12-18T19:57Z

Flyttas från SQL

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

## #3 — MickeA.com, 2008-12-18T20:35Z

Jag hade istället använt [ett script](http://phpthumb.sourceforge.net/) som skapar thumbnails "on-the-fly", då behöver du endast hålla reda på en fil när du t.ex. döper om eller tar bort bilder.

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

## #4 — Melea, 2008-12-18T21:42Z

Problemet med att parsa thumbnails "on-the-fly" är att det tar ett tag att konvertera alla bilder, speciellt om man har en sida med säg, 50 st små thumbnails.
Du kan ta en titt på <http://www.verot.net/php_class_upload.htm> för att ladda upp bilder med en viss storlek.

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

## #5 — Melea, 2008-12-20T11:32Z

Har faktiskt gjort exakt det du frågar efter till ett eget projekt med klassen jag länkade till.

**upload.php**

```php
if ($_POST['action'] == 'image') {

	require_once('class.upload.php');

	$files = array();
	foreach ($_FILES['my_field'] as $k => $l) {
		foreach ($l as $i => $v) {
			if (!array_key_exists($i, $files)) 
				$files[$i] = array();
			$files[$i][$k] = $v;
		}
	}
	
	foreach ($files as $file) {
	
		$handle = new Upload($file);
	
		if ($handle->uploaded) {
			
			$filename = $handle->file_dst_name;
			
			mysql_query("insert into tbl (pic_name) values ('$filename')");
	
			$handle->image_resize			= true;
			$handle->image_ratio_y			= true;
			$handle->image_x				= 500;
			$handle->jpeg_quality			= 100;
			$handle->image_convert			= 'jpg';
	
			$handle->Process('./images/');
	
			if (!$handle->processed) {
				echo 'Error: ' . $handle->error . '';
			}
	
			$handle-> Clean();
	
		} else {
			echo 'Error: ' . $handle->error . '';
		}
		
	}

	header('Location: index.php');

}
```

.

```
<form enctype="multipart/form-data" method="post" action="upload.php">
<input type="hidden" name="action" value="image" />

<input type="file" size="32" name="my_field[]" value="" />
<input type="file" size="32" name="my_field[]" value="" />
<input type="file" size="32" name="my_field[]" value="" />
<input type="submit" name="Submit" value="upload" />
</form>
```

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

---

Tråden på webben: https://www.webforum.nu/amne/php/175935-multi-upload-skapa-miniatyr
