2012-02-19 114 views
1

我正在尝试使用this缩略图生成器,但正如您所看到的,您必须通过this link才能创建图像缩略图。这可能是一个愚蠢的问题,但我怎么才能得到它在一个PHP脚本内部保存一些变量到数据库?我试图包括如何在PHP脚本中使用拇指生成器

header("Location: http://www.zubrag.com/thumb.php?src=http://www.test.com/test.jpg&dest=thumb.jpg&x=100&y=50"); 

但它不起作用。我敢打赌,这是非常简单的解决方案,但我找不到它。

回答

3

我实在看不出你的问题......

您是否想要在您正在调用脚本的行上制作拇指?只需从thumb.php中提取代码行并在脚本中使用它。

include('image.class.php'); 

$img = new Zubrag_image; 

// initialize 
$img->max_x  = $max_x; 
$img->max_y  = $max_y; 
$img->cut_x  = $cut_x; 
$img->cut_y  = $cut_y; 
$img->quality  = $image_quality; 
$img->save_to_file = $save_to_file; 
$img->image_type = $image_type; 

// generate thumbnail 
$img->GenerateThumbFile($images_folder . $from_name, $thumbs_folder . $to_name); 

你只需要改变你想要的值......这应该在我对脚本的简短回顾中工作。

+0

谢谢,我正在考虑这个解决方案,但我认为可能还有别的东西,但是这样可以正常工作。 – 2012-02-19 13:11:04

0

我认为你误读了说明。这不是一个Web服务,而是一个PHP脚本,你必须安装到你的服务器上。 zubrag.com网址只是一个例子,您可以用自己的网站的网址替换它。

+0

我把它做为一个例子,我有这个脚本上传我的服务器上,它的工作原理,但只能通过链接,我想用它无需编写链接到浏览器。 – 2012-02-19 12:59:37

+0

使用它如何?你想把图像显示给用户吗?将它保存到数据库?修改它?通过电子邮件发送? – JJJ 2012-02-19 13:01:42

+0

我希望它从一个文件创建缩略图:)这就是这个脚本所做的,这就是我想要做的,但在另一个php脚本内部,而不是通过在浏览器中编写链接。 – 2012-02-19 13:04:00

0

不与特定的发电机任何个人以前的经验,你将需要显示的内容的图像将是东西的形式:

<img src="thumb.php?src=link/to/image.jpg&x=100&y=50&f=0"/> 
0

你可以试试这个

<? 

$property_id = 1; // for our little example here 

define("_IMAGE_PATH","property_images/"); 
// max dimensions allowed: 
define("_IMAGE_WIDTH","640"); 
define("_IMAGE_HEIGHT","480"); 
define("_IMAGE_THUMB_WIDTH","100"); 
define("_IMAGE_THUMB_HEIGHT","75"); 


// grab the path to the temporary file (image) that the user uploaded 
$photo = $_FILES['new_image']['tmp_name']; 
// check if it exists 
if(is_uploaded_file($photo)){ 
    //the real image file name 
    $real_name = strtolower($_FILES['new_image']['name']); 
    // image type based on image file name extension: 
    if(strstr($real_name,".png")){ 
     $image_type = "png"; 
    }else if(strstr($real_name,".jpg")){ 
     $image_type = "jpg"; 
    }else if(strstr($real_name,".gif")){ 
     $image_type = "gif"; 
    }else{ 
     die("Unsupported image type"); 
    } 

    // find the next image name we are going to save 
    $x=1; 
    while(true){ 
     $image_name = _IMAGE_PATH."${property_id}/${x}.jpg"; 
     if(!is_file($image_name))break; 
     $x++; 
    } 

    // start processing the main bigger image: 
    $max_width = _IMAGE_WIDTH; $max_height = _IMAGE_HEIGHT; 
    $size = getimagesize($photo); 
    $width = $size[0]; 
    $height = $size[1]; 
    $x_ratio = $max_width/$width; 
    $y_ratio = $max_height/$height; 
    if(($width <= $max_width)&&($height <= $max_height)){ 
     $tn_width = $width; 
     $tn_height = $height; 
    }else{ 
     if(($x_ratio * $height) < $max_height){ 
      $tn_height = ceil($x_ratio * $height); 
      $tn_width = $max_width; 
     }else{ 
      $tn_width = ceil($y_ratio * $width); 
      $tn_height = $max_height; 
     } 
    } 
    switch($image_type){ 
     case "png": $src=imagecreatefrompng($photo); break; 
     case "jpg": $src=imagecreatefromjpeg($photo); break; 
     case "gif": $src=imagecreatefromgif($photo); break; 
    } 
    // destination resized image: 
    $dst = imagecreatetruecolor($tn_width, $tn_height); 
    // resize original image onto $dst 
    imagecopyresampled($dst, $src, 0, 0, 0, 0, $tn_width, $tn_height, $width, $height); 
    // write the final jpeg image.. 
    imagejpeg($dst, $image_name, 100) or die("Error: your photo 
    has not been saved. Please contact the administrator"); 
    // time to clean up 
    imagedestroy($src); 
    imagedestroy($dst); 


    // and now we do it alll again for the thumbnail: 
    $max_width = _IMAGE_THUMB_WIDTH; $max_height = _IMAGE_THUMB_HEIGHT; 
    $size = GetImageSize($photo); 
    $width = $size[0]; 
    $height = $size[1]; 
    $x_ratio = $max_width/$width; 
    $y_ratio = $max_height/$height; 
    if(($width <= $max_width)&&($height <= $max_height)){ 
     $tn_width = $width; 
     $tn_height = $height; 
    }else{ 
     if(($x_ratio * $height) < $max_height){ 
      $tn_height = ceil($x_ratio * $height); 
      $tn_width = $max_width; 
     }else{ 
      $tn_width = ceil($y_ratio * $width); 
      $tn_height = $max_height; 
     } 
    } 
    switch($image_type){ 
     case "png": $src=imagecreatefrompng($photo); break; 
     case "jpg": $src=imagecreatefromjpeg($photo); break; 
     case "gif": $src=imagecreatefromgif($photo); break; 
    } 
    $dst = imagecreatetruecolor($tn_width, $tn_height); 
    imagecopyresampled($dst, $src, 0, 0, 0, 0, $tn_width, $tn_height, $width, $height); 
    $thumbfile = $image_name . ".thumb.jpg"; 
    if(file_exists($thumbfile))unlink($thumbfile); 
    imagejpeg($dst, $thumbfile, 100) or die("Error: your photo thumb has not been saved. 
     Please contact the administrator"); 
    imagedestroy($src); 
    imagedestroy($dst); 
} 
?>