Kom ihåg mig?
Home Menu

Menu


Bildhantering i PHP Safe Mode

Ämnesverktyg Visningsalternativ
Oläst 2004-12-21, 10:40 #1
twedmark twedmark är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2004
Inlägg: 2
twedmark twedmark är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2004
Inlägg: 2
Tjena,

Använder en thumbnailcreator idag, men den kräver att PHP Safe Mode = OFF, vilket skapar problem.
Nån som har bra tips på en funktion att skapa thumbs i? Ska klara av att hålla samma aspektratio på bilderna, och kunna beskära thumsen så dom passar in i ett visst mått (tex 100x75pixl).

/J
twedmark är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-12-21, 11:22 #2
zorans avatar
zoran zoran är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2004
Inlägg: 598
zoran zoran är inte uppkopplad
Mycket flitig postare
zorans avatar
 
Reg.datum: Jun 2004
Inlägg: 598
Citat:
Originally posted by twedmark@Dec 21 2004, 11:40
Tjena,

Använder en thumbnailcreator idag, men den kräver att PHP Safe Mode = OFF, vilket skapar problem.
Nån som har bra tips på en funktion att skapa thumbs i? Ska klara av att hålla samma aspektratio på bilderna, och kunna beskära thumsen så dom passar in i ett visst mått (tex 100x75pixl).

/J
Jag har mina bilder i MySQL men du kan säkert ändra så det går att använda vanliga bilder. Något som ser ut så här:


Kod:
<?php
# Constants
require_once "db.inc.php";
$phototable = $TABLEPREFIX . "photos";


if ( $_GET['thumb'] == "yes" ){
	define(MAX_WIDTH, 100);
	define(MAX_HEIGHT, 100);
} else {
	define(MAX_WIDTH, 400);
	define(MAX_HEIGHT, 400);
}


if($_GET['id']) {
	db_conn();
  $id = $_GET['id'];
  $query = "select photo,type from $phototable where pid=$id";
  $result = mysql_query($query) or die("Could not execute query " . mysql_error());

  $row = mysql_fetch_array($result,MYSQL_ASSOC);
  $data = $row['photo'];
  $type = $row['type'];

};

# Load image
$img = null;
$img = imagecreatefromstring($data);


# If an image was successfully loaded, test the image for size

if ($img){
  # Get image size and scale ratio
  $width = imagesx($img);
  $height = imagesy($img);
  $scale = min(MAX_WIDTH/$width, MAX_HEIGHT/$height);

  # If the image is larger than the max shrink it
  if ($scale < 1) {
    $new_width = floor($scale*$width);
    $new_height = floor($scale*$height);

    # Create a new temporary image
    $tmp_img = imagecreatetruecolor($new_width, $new_height);

    # Copy and resize old image into new image
    imagecopyresized($tmp_img, $img, 0, 0, 0, 0,
             $new_width, $new_height, $width, $height);
    imagedestroy($img);
    $img = $tmp_img;
  }
}

# Create error image if necessary
if (!$img) {
  $img = imagecreate(MAX_WIDTH, MAX_HEIGHT);
  imagecolorallocate($img,0,0,0);
  $c = imagecolorallocate($img,70,70,70);
  imageline($img,0,0,MAX_WIDTH,MAX_HEIGHT,$c2);
  imageline($img,MAX_WIDTH,0,0,MAX_HEIGHT,$c2);
}

# Display the image
header("Content-type: image/jpeg");
imagejpeg($img);
?>
/Zoran
zoran är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 11:42.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017