webForumDet fria alternativet

Fel på bildscript

4 svar · 377 visningar · startad av lillebror

lillebrorMedlem sedan apr. 20041 687 inlägg
#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
fiddlerMedlem sedan juli 20022 464 inlägg
#2

Har du skrivrättigheter i mappen "thumbnails"?

lillebrorMedlem sedan apr. 20041 687 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!

lillebrorMedlem sedan apr. 20041 687 inlägg
#4

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

fiddlerMedlem sedan juli 20022 464 inlägg
#5

lillebror skrev:

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

Tack detsamma! :bire

Genererad på 385 ms · cache AV · v20260730165559-full.f96bc7eb