---
title: "Fel på bildscript"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/135691-fel-på-bildscript"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "lillebror"
published: "2005-10-13T19:16:18.000Z"
updated: "2005-10-14T12:37:19.000Z"
replies: 4
views: 377
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/135691-fel-på-bildscript"
---

# Fel på bildscript

## #1 — lillebror, 2005-10-13T19:16Z

Hej!

Jag har ett bildscript som har fungerat utan problem tills jag började lägga dit en funktion som när man laddar upp skapar en thumbnail utöver den uppladdade och något omskalade bilden.

Nu vill jag spara thumbnail-filerna till en speciell mapp. Då får jag upp ett felmeddelande (se bifogad fil)

Här är koden till scriptet:

```
 <?php
// ###################################### Vars
$img_dir = $_SERVER['DOCUMENT_ROOT']."/temp/";// Sökväg till mappen dör bilden ska sparas
$new_img_width = '460';// Bredd som bilden ska ha
$img_compress = 90;// Vilken komprimering (100=ingen)
$uploaded_img_name = $_FILES['foto']['name'];// foto är namnet på fältet
$uploaded_img_location = $_FILES['foto']['tmp_name'];
$img_description = $_POST['picturedescription'];
// ######################################

if (isset($_POST['action']) AND $_POST['action'] == 'upload') {
   
	 $img_x_y_size =  getimagesize($uploaded_img_location);
    	
	// Ändra storleken om bilden är större än $new_img_width
    	if ($new_img_width < $img_x_y_size[0]) {
        	$new_img_height = ceil(($new_img_width / $img_x_y_size[0]) * $img_x_y_size[1]);
        
	// Gör om bildens storlek
        $new_image = imagecreatetruecolor($new_img_width, $new_img_height);
        
	// Kontrollera vilken bildtyp det är (1=gif , 2=jpg , 3=png)
        switch($img_x_y_size[2]) {
            case 1:
                $image = imagecreatefromgif($uploaded_img_location);
            break;
            case 2:
                $image = imagecreatefromjpeg($uploaded_img_location);
            	$fileending = ".jpg";
	    break;
            case 3:
                $image = imagecreatefrompng($uploaded_img_location);
            break;
        }
        
	imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_img_width, $new_img_height, $img_x_y_size[0], $img_x_y_size[1]);
        
	//Sedan skapas bilden som ska innehålla thumbnailen

	$dstW = 150;  // Bredd på thumbnail
	#$dstH = 100; // Höjd på thumbnail

	#$n_width=$width_size;          // Fix the width of the thumb nail images
        $ratio = ($new_img_width / $new_img_height);
        //$n_height=100;         // Fix the height of the thumb nail imaage
        $dstH = round($dstW / $ratio); 

	$dst_im = imagecreatetruecolor($dstW, $dstH); 

	$srcW = imagesx($new_image);
	$srcH = imagesy($new_image);

	imagecopyresampled ($dst_im, $new_image, 0, 0, 0, 0, $dstW, $dstH, $srcW, $srcH);

	// Anropa databasen för ledigt id till bild
	$sqlSelect = "SELECT pictureID FROM tblpictures ORDER BY pictureID DESC LIMIT 1";
	$RSobj = mysql_query($sqlSelect) or die (mysql_error());
	$row = mysql_fetch_array($RSobj);	

	$number = $row['pictureID']+1;

	$uploaded_img_name = $number.$fileending;

	// Kopiera bilden till sin mapp
	$save_img = $img_dir . $uploaded_img_name;
        imagejpeg($new_image, $save_img, $img_compress);

	//Sökväg och kopiering till rätt mapp för thumbnail
	$save_img_th = $img_dir."thumbnails/".$uploaded_img_name;
	[B]imagejpeg($dst_im, $save_img_th, 100);[/B]

	// Frigör minne som associerats med bilderna
        imagedestroy($image);
        imagedestroy($new_image);
    } else {
	$uploaded_img_name = $number.$fileending;
        copy($uploaded_img_location, $img_dir . '/' . $uploaded_img_name);
    }
	$dir_pic = "./temp/";
	$sqlInsert = "INSERT INTO tblpictures (path, filename, description, date_time, memberID) VALUES ('".$dir_pic."', '".$uploaded_img_name."', '".$img_description."', now(), '".$_SESSION["uid"]."')";
	mysql_query($sqlInsert) or die (mysql_error());

	$dir_pic_thumb = "./temp/thumbnails/";
	$sqlInsert = "INSERT INTO tblpicturesthumbnails (thumbnailID, path, filename) VALUES ('".$number."', '".$dir_pic_thumb."', '".$uploaded_img_name."')";
	mysql_query($sqlInsert) or die (mysql_error());	

	echo "<script Language='JavaScript'>location.href=('../uploadscript.php');</script>";
} 
?>
```

Rad 80 är den fetmarkerade raden.

Bilagor:

- [error.jpg](https://www.webforum.nu/a/8108.jpg)

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

## #2 — fiddler, 2005-10-14T07:34Z

Har du skrivrättigheter i mappen "thumbnails"?

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

## #3 — lillebror, 2005-10-14T08:13Z

Förmodligen inte nu när du säger det :e Jag trodde per automatik att mappen thumbnail som ligger i mappen temp därmed fick samma skrivrättigheter men så är det väl självklart inte :) Tack för tipset!

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

## #4 — lillebror, 2005-10-14T12:29Z

Det löste mitt problem. Tack Fiddler! :) Trevlig helg!

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

## #5 — fiddler, 2005-10-14T12:37Z

> **lillebror skrev:**
>
> Det löste mitt problem. Tack Fiddler! :) Trevlig helg!

Tack detsamma!  :bire

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

---

Tråden på webben: https://www.webforum.nu/amne/php/135691-fel-på-bildscript
