webForumDet fria alternativet
Logga in / Bli medlem

Fel på bildscript

PHP

4 svar · 377 visningar · startad av lillebror

Medlem sedan apr. 20041 597 inlägg
Trådstart#1

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.

error.jpg
Medlem sedan juli 20023 617 inlägg
#2

Har du skrivrättigheter i mappen "thumbnails"?

Medlem sedan apr. 20041 597 inlägg
#3

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!

Medlem sedan apr. 20041 597 inlägg
#4

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

Medlem sedan juli 20023 617 inlägg
#5

lillebror skrev:

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

Tack detsamma! :bire

263 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)