Svendsen Skrevet 2. januar 2004 Del Skrevet 2. januar 2004 ja sier seg vel selv???? Er dette innebygd i php? Veit det funker i GALLERY på forhåns takk Lenke til kommentar
Edorph Skrevet 2. januar 2004 Del Skrevet 2. januar 2004 (endret) $imageDestination = "/some/where/"; $imageTnName = "navn_på_bilde.jpg"; //navn på thumbnail $imageTmpName = $_FILES['bilde']['tmp_name']; //eller noe $imageOrigSize = getimagesize($imageTmpName); $imageOrigWidth = $imageOrigSize[0]; $imageOrigHeight = $imageOrigSize[1]; $imageTnWidth = 100; //Bredden på resized bilde. $imageTnHeight = 100; //Høyden på resized bilde. $imageResized = ImageCreate($imageTnWidth, $imageTnHeight); imagecopyresized($imageResized, ImageCreateFromJpeg($imageTmpName), 0 , 0 , 0 , 0, $imageTnWidth, $imageTnHeight, $imageOrigWidth, $imageOrigHeight); Imagejpeg($imageResized, "$imageDestination$imageTnName"); ImageDestroy($imageResized); Dette forutsetter at serveren har GD biblioteket installert, noe du kan finne ut av med phpinfo(), og at det er et JPG bilde. Det finnes andre måter å gjøre det på også, men denne er den eneste jeg kan. Tok det rett fra et større script jeg laget, så alt er kanskje ikke helt selvforklarende, men bare spør. Endret 2. januar 2004 av Edorph Lenke til kommentar
Edorph Skrevet 2. januar 2004 Del Skrevet 2. januar 2004 Disse linkene er kanskje interessante http://www.phpbuilder.com/columns/michael2...712.php3?page=2 "Resizing Images with PHP and Mogrify" http://horobey.com/demos/imgresize/v5/article/article01.html "Image Resizing with PHP and GD library." Lenke til kommentar
Svendsen Skrevet 2. januar 2004 Forfatter Del Skrevet 2. januar 2004 noe forsto jeg, men annet ikke... Dessuten er kansje bruken litt diffuse? Sette det inn i ei løkke som finner alle bilder i ei mappe og gjør dette.... ? Lenke til kommentar
Edorph Skrevet 2. januar 2004 Del Skrevet 2. januar 2004 Ja, det ble kanskje litt uklart det der.. På min side bruker jeg det for å lage et thumbnail av ett bilde som jeg laster opp via en <input type='file' name='bilde'>, derav $_FILES['bilde']['tmp_name'] (altså et og et bilde av gangen). Jeg kan altfor lite om directory-funksjonene i PHP, så jeg er ikke sikker på hvordan jeg ville laget et script som tok alle bildene i en mappe.. Se forresten http://no2.php.net/gd også, der står det meste om GD i hvertfall. Lenke til kommentar
Svendsen Skrevet 2. januar 2004 Forfatter Del Skrevet 2. januar 2004 Ja jeg får sette meg ned å se litt på det du kom med Takk.... Kanskje det er noen andre her som er gode på Directory og file listing? Nå har jeg i hvertfall noe å jobbe etter Lenke til kommentar
magikern Skrevet 3. januar 2004 Del Skrevet 3. januar 2004 (endret) index.php <?php require_once("resizer.class.php"); //require class require_once("func.inc.php"); //require function $img = directory('./', array('.gif', '.png', '.jpg')); foreach($img as $link => $name) { $size = GetImageSize("./$name"); $to = 100; if(($size[0]/$to) > ($size[1]/$to)){ $w=$to; $h= round($size[1]/($size[0]/$to)); }else{ $w = round($size[0]/($size[1]/$to)); $h = $to; } //$resize = new resize(true, './resizer.php'); $thumb=new thumbnail("./$name"); //generate image_file, set filename to resize $thumb->size_width($w); // set width for thumbnail, or $thumb->size_height($h); // set height for thumbnail, or $thumb->size_auto(200); // set the biggest width or height for thumbnail $thumb->jpeg_quality(75); // [OPTIONAL] set quality for jpeg only (0 - 100) (worst - best), default = 75 //$thumb->show(); // show your thumbnail $thumb->save("./thumb/$name"); // save your thumbnail to file } include("show_thumb.php"); ?> func.inc.php <?php function directory($dir, $type) { $handle = @opendir($dir); if(!$handle) { return false; } $res = array(); while ($file = readdir($handle)) { // se om $file er en mappe if(!is_dir($file)) { // kun vise bilder if (in_array(substr($file, strrpos($file, '.')), $type)) { $res[$dir.$file] = $file; } } } // while closedir($handle); return $res; } ?> resizer.class.php <?php /*######## Sample : $thumb=new thumbnail("./img.jpg"); // generate image_file, set filename to resize $thumb->size_width(100); // set width for thumbnail, or $thumb->size_height(300); // set height for thumbnail, or $thumb->size_auto(200); // set the biggest width or height for thumbnail $thumb->jpeg_quality(75); // [OPTIONAL] set quality for jpeg only (0 - 100) (worst - best), default = 75 $thumb->show(); // show your thumbnail $thumb->save("./thumb.jpg"); // save your thumbnail to file /*---------------------------------------------- Note : - GD must Enabled - Autodetect file extension (.jpg/jpeg, .png, .gif, .wbmp) but some server can't generate .gif / .wbmp file types - If your GD not support 'ImageCreateTrueColor' function, change one line from 'ImageCreateTrueColor' to 'ImageCreate' (the position in 'show' and 'save' function) */############################################ class thumbnail{ var $img; function thumbnail($imgfile){ //detect image format $this->img["format"]=ereg_replace(".*\.(.*)$","\\1",$imgfile); $this->img["format"]=strtoupper($this->img["format"]); if ($this->img["format"]=="JPG" || $this->img["format"]=="JPEG") { //JPEG $this->img["format"]="JPEG"; $this->img["src"] = ImageCreateFromJPEG ($imgfile); } elseif ($this->img["format"]=="PNG") { //PNG $this->img["format"]="PNG"; $this->img["src"] = ImageCreateFromPNG ($imgfile); } elseif ($this->img["format"]=="GIF") { //GIF $this->img["format"]="GIF"; $this->img["src"] = ImageCreateFromGIF ($imgfile); } elseif ($this->img["format"]=="WBMP") { //WBMP $this->img["format"]="WBMP"; $this->img["src"] = ImageCreateFromWBMP ($imgfile); } else { //DEFAULT echo "Not Supported File"; exit(); } @$this->img["lebar"] = imagesx($this->img["src"]); @$this->img["tinggi"] = imagesy($this->img["src"]); //default quality jpeg $this->img["quality"]=75; } function size_height($size=100){ //height $this->img["tinggi_thumb"]=$size; @$this->img["lebar_thumb"] = ($this->img["tinggi_thumb"]/$this->img["tinggi"])*$this->img["lebar"]; } function size_width($size=100){ //width $this->img["lebar_thumb"]=$size; @$this->img["tinggi_thumb"] = ($this->img["lebar_thumb"]/$this->img["lebar"])*$this->img["tinggi"]; } function size_auto($size=100){ //size if ($this->img["lebar"]>=$this->img["tinggi"]) { $this->img["lebar_thumb"]=$size; @$this->img["tinggi_thumb"] = ($this->img["lebar_thumb"]/$this->img["lebar"])*$this->img["tinggi"]; } else { $this->img["tinggi_thumb"]=$size; @$this->img["lebar_thumb"] = ($this->img["tinggi_thumb"]/$this->img["tinggi"])*$this->img["lebar"]; } } function jpeg_quality($quality=75){ //jpeg quality $this->img["quality"]=$quality; } function show(){ //show thumb @Header("Content-Type: image/".$this->img["format"]); /* change ImageCreateTrueColor to ImageCreate if your GD not supported ImageCreateTrueColor function*/ $this->img["des"] = ImageCreate($this->img["lebar_thumb"],$this->img["tinggi_thumb"]); @imagecopyresized ($this->img["des"], $this->img["src"], 0, 0, 0, 0, $this->img["lebar_thumb"], $this->img["tinggi_thumb"], $this->img["lebar"], $this->img["tinggi"]); if ($this->img["format"]=="JPG" || $this->img["format"]=="JPEG") { //JPEG imageJPEG($this->img["des"],"",$this->img["quality"]); } elseif ($this->img["format"]=="PNG") { //PNG imagePNG($this->img["des"]); } elseif ($this->img["format"]=="GIF") { //GIF imageGIF($this->img["des"]); } elseif ($this->img["format"]=="WBMP") { //WBMP imageWBMP($this->img["des"]); } } function save($save=""){ //save thumb if (empty($save)) $save=strtolower("./thumb.".$this->img["format"]); /* change ImageCreateTrueColor to ImageCreate if your GD not supported ImageCreateTrueColor function*/ $this->img["des"] = ImageCreate($this->img["lebar_thumb"],$this->img["tinggi_thumb"]); @imagecopyresized ($this->img["des"], $this->img["src"], 0, 0, 0, 0, $this->img["lebar_thumb"], $this->img["tinggi_thumb"], $this->img["lebar"], $this->img["tinggi"]); if ($this->img["format"]=="JPG" || $this->img["format"]=="JPEG") { //JPEG imageJPEG($this->img["des"],"$save",$this->img["quality"]); } elseif ($this->img["format"]=="PNG") { //PNG imagePNG($this->img["des"],"$save"); } elseif ($this->img["format"]=="GIF") { //GIF imageGIF($this->img["des"],"$save"); } elseif ($this->img["format"]=="WBMP") { //WBMP imageWBMP($this->img["des"],"$save"); } } } ?> show_thumb.php <?php require_once("func.inc.php"); //require function echo("<table style=\"border: 1px black solid;\"><tr>"); $thumb = "./thumb"; $img = directory('./', array('.gif', '.png', '.jpg')); //$thumbnail = directory('./thumb', array('.gif', '.png', '.jpg')); $imgperline = ("5"); /*her setter du antall bilder påinja*/ $tdwidth = (100 / $imgperline); /*hvor mange prosent av hele linja tdwidth skal utgjøre må ikke endres)*/ $temp = 1; foreach($img as $link => $name) { $file_name = substr($name, strrpos($name, '/')); $file_ext = substr($file_name, 0, strpos($file_name, '.')); $file_name = substr($file_name, 0, strrpos($file_name, '.')); echo("\n<td style=\"width: $tdwidth%; border: 1px black solid;\"><a href=\"$link\"><img src=\"$thumb/$name\" border=\"0\"></a><br />\n<a href='$link'>$file_name</a>"."</td>\n"); if($temp%$imgperline==0) echo("\n</tr><tr>"); $temp++; } echo("</tr></table>"); ?> dette er noe jeg skrev for en evighet siden og har vel egentlig lagt det ut her før en gang i tiden, men se om du får noe ut av det, bruk de filnavnene jeg har skrevet oppover her og legg alle filene i mappa hvor du har bilder... hvis noe krasjer eller det skjer noe annet gæærnt spør i denne posten, orker ikke teste det nå, men jeg tror alt skal fungere, jeg husker ikke farta om det lager " /thumb/ " mappe automatisk eller om du må gjøre det selv... Endret 3. januar 2004 av magikern Lenke til kommentar
Lucifer 666 Skrevet 29. juli 2004 Del Skrevet 29. juli 2004 Prøvde å lagre en av kodene som en fil med "show_thumb.php", men den blir bare liggende i mappen sammen med bildene som et spørsmålstegn ikon. Må noe forandres for at det skal funke i min mappe-destinasjon eller er det bare å kopiere den rett over?? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå