webForumDet fria alternativet

thumbnails generering

PHPur PHP

12 svar · 597 visningar · startad av mhedda

Medlem sedan feb. 2000385 inlägg
Frågan#1

Hejsan!
Jag har ett litet problem jag har denna kod för att skapa thumnails automatiskt men jag får denna felmeddelande efter det att den har skapat thumbnails och visat dom.
------------------------------------------------------------------------------------

Warning: imagecreatefromjpeg(C://inetpub/wwwroot/tester/img/thumbs/): failed to open stream: Permission denied in c:\inetpub\wwwroot\tester\thumbsCreate.php on line 4

Warning: getimagesize(C://inetpub/wwwroot/tester/img/thumbs): failed to open stream: Permission denied in c:\inetpub\wwwroot\tester\thumbsCreate.php on line 6

Warning: imagecopyresized(): supplied argument is not a valid Image resource in c:\inetpub\wwwroot\tester\thumbsCreate.php on line 13

Warning: imagedestroy(): supplied argument is not a valid Image resource in c:\inetpub\wwwroot\tester\thumbsCreate.php on line 19
-----------------------------------------------------------------------------------

function CreateThumbNails($file2) {
    // Hämta orginalbilden.
	echo "C://inetpub/wwwroot/tester/img/".$file2."/";
    $source_img = imagecreatefromjpeg("C://inetpub/wwwroot/tester/img/".$file2."/");
    //size
	list($width, $height, $type, $attr) = getimagesize("C://inetpub/wwwroot/tester/img/".$file2);
    // Skapa en ny bild för en thumbnail.
    $new_W = 100;
    $new_H = 75;
    $destination_img = imagecreate($new_W,$new_H);
    
    // Skapa thumbnail
     imagecopyresized($destination_img,$source_img,0,0,0,0,$new_W,$new_H,$width,$height);
    
    // Skapa jpeg bild.
    imagejpeg($destination_img,"C:/inetpub/wwwroot/tester/img/thumbs/".$file2,30);
    
    // Förstör temporära bilderna.
    imageDestroy($source_img);
    imageDestroy($destination_img);
    }
	//Slut skapa thumbnails

//---------------------------------------------------------------------------

// skapa en tom array för bilderna
$files = array();
if ($handle = opendir('img')) {
    while (false !== ($file = readdir($handle))) { 
        if ($file != "." && $file != "..") { 
        $files[] = $file;
        }
    }
    // Sorterar
    sort($files); 
    // Skriv ut
    foreach($files as $file2) {
      	echo "<img src=\"img/thumbs/".$file2."\"><br>";
		CreateThumbNails($file2);
    }
    closedir($handle); 
}

Jag tror att det möjligtvis kan vara loopen som kör något varv för mycket och inte hitter någon bild.
Eller vad kan det vara?

MVH hedda

Medlem sedan feb. 2000385 inlägg
#2

Hej igen!
En liten fråga till.
Hur kan man få bilderna att visas så här
bild1 bild2 bild3 bild4
bild5 bild6 bild7 bild8 osv..
Istället för
bild1
bild2
bild3
bild4
osv..
Som det blir nu
??
MVH hedda

Medlem sedan juni 20006 032 inlägg
#3

mhedda skrev:

Hej igen!
En liten fråga till.
Hur kan man få bilderna att visas så här
bild1 bild2 bild3 bild4
bild5 bild6 bild7 bild8 osv..
Istället för
bild1
bild2
bild3
bild4
osv..
Som det blir nu
??
MVH hedda

http://schluter.no-ip.com/showsource/index.php?sida=lista_bilder_i_tabell&visa=1

Medlem sedan feb. 2000385 inlägg
#4

Tack pedda!
You have made my day:
Lysande nu försvann error meddelandet på köpet.

Trevlig helg på dig.

MVH hedda

Medlem sedan feb. 2000385 inlägg
#5

Hej igin!
Nu ser jag att dom här
acd2C0.tmp
thumbnails
kommer upp och då blir
det X bilden kan inte visas. Vad skall man göra för check för att få bort detta?
MVH hedda

Medlem sedan feb. 2000385 inlägg
#6

Nu blir thumbnails svarta
Varför?
MVH hedda

Medlem sedan juni 20006 032 inlägg
#7

Kan du posta lite kod så vi ser hur det ser ut nu?

Medlem sedan aug. 20002 975 inlägg
#8

mhedda skrev:

Nu blir thumbnails svarta
Varför?

Kör du GD2 ?

Då måste du använda imagecreatetruecolor istället för imagecreate, annars blir bilderna svarta.

Har du GD2 bör du också använda imagecopyresampled istället för imagecopyresized. Du får lite bättre bildkvalitet då.

Medlem sedan feb. 2000385 inlägg
#9

Tack så jätte mycket nu verkar det funka nästan:-)
Förrutom att det blir error
-----------------------------------------------------------------------------------
Warning: getimagesize(C://inetpub/wwwroot/tester/img/thumbs): failed to open stream: Permission denied in c:\inetpub\wwwroot\tester\imgShow.php on line 9

Warning: imagecreatefromjpeg(C://inetpub/wwwroot/tester/img/thumbs): failed to open stream: Permission denied in c:\inetpub\wwwroot\tester\imgShow.php on line 11

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in c:\inetpub\wwwroot\tester\imgShow.php on line 18

Warning: imagedestroy(): supplied argument is not a valid Image resource in c:\inetpub\wwwroot\tester\imgShow.php on line 24
----------------------------------------------------------------------------------
Och sen visar den bilderna samt en svart, men det verkar som den går ett varv och tar sökvägen fram till thumbs"C://inetpub/wwwroot/tester/img/thumbs" utan bildnamn.
Kod

$direction="/tester/";
$url="C://inetpub/wwwroot/tester/img/";
$thumbnail="C://inetpub/wwwroot/tester/img/thumbs/";

//Skapa thumbnails funktion*************************************************************************
function CreateThumbNails($file2,$url) {
    //size
	list($width, $height, $type, $attr) = getimagesize($url.$file2);
    // Hämta orginalbilden.
    $source_img = imagecreatefromjpeg($url.$file2);
    // Skapa en ny bild för en thumbnail.
    $new_W = 100;
    $new_H = 75;
    $destination_img = imagecreatetruecolor($new_W,$new_H);
    
    // Skapa thumbnail
     imagecopyresampled($destination_img,$source_img,0,0,0,0,$new_W,$new_H,$width,$height);
    
    // Skapa jpeg bild.
    imagejpeg($destination_img,"C://inetpub/wwwroot/tester/img/thumbs/".$file2,75);
    //echo $file2.$width.$height;
    // Förstör temporära bilderna.
    imageDestroy($source_img);
    imageDestroy($destination_img);
    }
	//Slut skapa thumbnails*****************************************************************************
	//Hämta och visa bilder
function imageDisplay()
{
global $direction,$url,$thumbnail;

// skapa en tom array för filerna 
$files = array(); 
if ($handle = opendir($url)) { 

    // Hur många kolumner ska tabellen ha? 
    $sakerPerRad = 4; 
    echo "<table border=\"0\" align=\"center\" cellpadding=\"25\" cellspacing=\"0\">\n"; 
    $col = 1; 
     
    while (false !== ($file = readdir($handle))) { 
        // Ta bort filer som inte ska listas 
        if ($file != "." && $file != ".." && $file != "tester") { 
            // Resten ska in i arrayen 
            $files[] = $file; 
        } 
    } 
    foreach($files as $file2) { 
        // starta raden 
        if(($col) == 1) { 
            echo "<tr>\n"; 
        } 
         CreateThumbNails($file2,$url);        
        echo "<td><div align=\"center\"><a href=".$url."/".$file2."><img src=".$thumbnail.$file2." border='0' width='100' height='75'></a><br />$file2</div></td>\n"; 
                 
        // stäng rad 
        if($col == $sakerPerRad) { 
            echo "</tr>\n"; 
            $col = 1; 
        } else {     
            $col++; 
        } 
    } 
    closedir($handle); 
    // fylla tomma rutor 
    while(($col) <= $sakerPerRad) { 
        echo "<td>&nbsp;</td>\n"; 
    if($col == $sakerPerRad) { 
        echo "</tr>\n"; 
        break; 
        } 
        $col++; 
    } 
} 

echo "</table>\n"; 
}

Hur skall man göra för att få bort detta?
MVH hedda

Medlem sedan feb. 2000385 inlägg
#10

Är det någon som vet?
Så här ser sidan ut som jag visar bilderna på.

include("imgShow.php");
//include("thumbsCreate.php");
imageDisplay();

Tack på för hand.
MVH hedda

Medlem sedan feb. 2000385 inlägg
#11

Är det någon som vet hur man får bort filen thumbs.file.
Det verkar vara det att den loopar igenom försöker få getsize på thumbs.file i thumbnailMappen som skapas aoutomatiskt när man skapar thumbnails. Därför genereras error samt att den visar en svart ruta av thumbs.file.

Någon som vet?

MVH hedda

Medlem sedan aug. 20002 975 inlägg
#12

Du får välja bort den i samband med stt du loopar katalogen:

if ($file != "." && $file != ".." && $file != "tester" && $file != 'thumb') {
Medlem sedan feb. 2000385 inlägg
#13

Tackar för svaret jag tänkte ungefär så.
Jag kollar om det är en jpg.
Så nu funkar det.
Här är koden.

<?
$direction="/tester/";
$url="C://inetpub/wwwroot/tester/img/";
$thumbnail="C://inetpub/wwwroot/tester/img/thumbs/";
//Bildvisnings variabler.
//global $direction,$url;

//*************************************************************************
//Skapa thumbnails funktion
//*************************************************************************
function CreateThumbNails($file2,$url) {
 // kolla filändelsen  
    $filandelse = explode('.',$file2); 
    $sort = count($filandelse) - 1; 
    $so = $filandelse[$sort];

			if(($so=="jpg")||($so=="jpeg")){
    			//size
				list($width, $height, $type, $attr) = getimagesize($url.$file2);
						// Hämta orginalbilden.
						$source_img = imagecreatefromjpeg($url.$file2);
						// Skapa en ny bild för en thumbnail.
						$new_W = 100;
						$new_H = 75;
						$destination_img = imagecreatetruecolor($new_W,$new_H);
						
						// Skapa thumbnail
						 imagecopyresampled($destination_img,$source_img,0,0,0,0,$new_W,$new_H,$width,$height);
						
						// Skapa jpeg bild.
						imagejpeg($destination_img,"C://inetpub/wwwroot/tester/img/thumbs/".$file2,100);
						//echo $file2.$width.$height;
						// Förstör temporära bilderna.
						imageDestroy($source_img);
						imageDestroy($destination_img);
			}
    }
//*************************************************************************
//Slut skapa thumbnails
//*****************************************************************************
//*************************************************************************
//Hämta och visa bilder
//*************************************************************************
function imageDisplay()
{
global $direction,$url,$thumbnail;
// skapa en tom array för filerna 
$files = array(); 
if ($handle = opendir($url)) { 
    // Hur många kolumner ska tabellen ha? 
    $sakerPerRad = 4; 
    echo "<table border=\"0\" align=\"center\" cellpadding=\"25\" cellspacing=\"0\">\n"; 
    $col = 1; 
     
    while (false !== ($file = readdir($handle))) { 
	 // kolla filändelsen  
    $filandelse = explode('.',$file); 
    $sort = count($filandelse) - 1; 
    $so = $filandelse[$sort];

			//if(($so=="jpg")||($so=="jpeg")){
        // Ta bort filer som inte ska listas 
        if ($file != "." && $file != ".." && $file != "" && $so=="jpg") { 
            // Resten ska in i arrayen 
            $files[] = $file; 
        } 
    } 
    foreach($files as $file2) { 
        // starta raden 
        if(($col) == 1) { 
            echo "<tr>\n"; 
        } 
         CreateThumbNails($file2,$url);
			echo "<td><div align=\"center\"><a href=".$url."/".$file2."><img src=".$thumbnail.$file2." border='0' width='100' height='75'></a><br />$file2</div></td>\n";    
		// stäng rad 
        if($col == $sakerPerRad) { 
            echo "</tr>\n"; 
            $col = 1; 
        } else {     
            $col++; 
        } 
    } 
    closedir($handle); 
    // fylla tomma rutor 
    while(($col) <= $sakerPerRad) { 
        echo "<td>&nbsp;</td>\n"; 
    if($col == $sakerPerRad) { 
        echo "</tr>\n"; 
        break; 
        } 
        $col++; 
    } 
} 
echo "</table>\n"; 
}
//*************************************************************************
//Slut hämta och visa bilder
//*************************************************************************
?>

MVH hedda

141 ms totalt · 3 externa anrop · v20260731065814-full.55e59744
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)