webForumDet fria alternativet

Thumbnails

PHP

7 svar · 317 visningar · startad av Webslave

Medlem sedan maj 2002647 inlägg
Frågan#1

Hoj!

Har försökt att få ett script som jag hittat här på wF att funka för mig men jag är urusel på det här med uppladning så det vill sig inte. Jag ska ladda upp en bild och sedan skapa en thumb som är 90*90 och inte förvrängd utan urklippt från bilden. Bilden jag få är svart och webhotellet kör med GD 2***. Här har ni koden som jag försöker få att fungera.

$uploaddir = '/sökvägen/images/';
	$uploadfile = $uploaddir . basename($_FILES['image']['name']);
	move_uploaded_file($_FILES['image']['tmp_name'], $uploadfile);
	
	$src_im = imagecreatefromjpeg($uploaddir.basename($_FILES['image']['tmp_name']));
	$dstW = 90;
	$dstH = 90;
	$dst_im = imagecreatetruecolor($dstW,$dstH);
	$srcW = imagesx($src_im);
	$srcH = imagesy($src_im);
	
	$info = getimagesize($src);
	switch($info[2]){
		case 1:
		$im_src = imagecreatefromgif($src);
		break;
		case 2:
		$im_src = imagecreatefromjpeg($src);
		break;
		case 3:
		$im_src = imagecreatefrompng($src);
		break;
	}
  
	if ($info[1] >= $info[0]){
		$srcX = 0;
		$srcY = 0;
		$srcW = $info[0];
		$srcH = $info[0];
	}
	else{
		$srcX = round(($info[0] - $info[1])/2);
		$srcY = 0;
		$srcW = $info[1];
		$srcH = $info[1];
	} 
	
	imagecopyresampled($dst_im,$src_im,0,0,$srcX,$srcY,$dstW,$dstH,$srcW,$srcH);
	imagejpeg($dst_im,$uploaddir."thumb_".basename($_FILES['image']['name']), 90);
	
	imagedestroy($src_im);
	imagedestroy($dst_im);

Jag ser säkert inte skogen för alla träd... eller det som är fel i alla dessa fel :) En kick i rätt riktning skulle vara uppskattat ;)

Medlem sedan aug. 20002 975 inlägg
#2

I och med att du kört move_uploaded_file() så finns inte längre den fil $_FILES['image']['tmp_name'] pekar på.

Ändra därför

$src_im = imagecreatefromjpeg($uploaddir.basename($_FILES['image']['tmp_name']));

till

$src_im = imagecreatefromjpeg($uploadfile);
Medlem sedan maj 2002647 inlägg
#3

Jag ändrade till

 $src_im = imagecreatefromjpeg($uploadfile);

Men den är fortfarande svart... några andra idéer?

Medlem sedan aug. 20002 975 inlägg
#4

Lägg följande överst i skriptet, och se om du får några felmeddelanden:

<?php

error_reporting(E_ALL);
ini_set("display_errors", "1");
Medlem sedan maj 2002647 inlägg
#5
Notice: Undefined variable: src in /sökväg/admin/actionAddImage.php on line 32

Line 32:

$info = getimagesize($src);
Medlem sedan maj 2002647 inlägg
#6

Ser att jag inte definierat $src någonstans... och eftersom jag bara klippt och klistrat så vet jag inte vad som ska vara där... hehe

Medlem sedan aug. 20002 975 inlägg
#7

Ändra

    $src_im = imagecreatefromjpeg($uploaddir.basename($_FILES['image']['tmp_name'])); 
    $dstW = 90; 
    $dstH = 90; 
    $dst_im = imagecreatetruecolor($dstW,$dstH); 
    $srcW = imagesx($src_im); 
    $srcH = imagesy($src_im); 
     
    $info = getimagesize($src); 
    switch($info[2]){ 
        case 1: 
        $im_src = imagecreatefromgif($src); 
        break; 
        case 2: 
        $im_src = imagecreatefromjpeg($src); 
        break; 
        case 3: 
        $im_src = imagecreatefrompng($src); 
        break; 
    }

till

    $info = getimagesize($uploadfile); 
    switch($info[2]){ 
        case 1: 
        $src_im = imagecreatefromgif($uploadfile); 
        break; 
        case 2: 
        $src_im = imagecreatefromjpeg($uploadfile); 
        break; 
        case 3: 
        $src_im = imagecreatefrompng($uploadfile); 
        break; 
    }

    $dstW = 90; 
    $dstH = 90; 
    $dst_im = imagecreatetruecolor($dstW,$dstH); 
    $srcW = imagesx($src_im); 
    $srcH = imagesy($src_im);
Medlem sedan maj 2002647 inlägg
#8

Du är kung Matte ;) Tack så jättemycket.

253 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)