你可以将你使用imagecopyresized()的图像保存到MySQL吗?

时间:2011-06-21 00:15:50

标签: php mysql gd thumbnails

我一直在尝试多种方法尝试为我的照片库制作缩略图,但由于我无法找到一种方法来调整图片大小而是BLOB,我决定尝试将其保存到MySQL作为它自己的BLOB。然而,当我回应它时,它不会让我保存它并且不给我任何东西。有什么想法我可以把它保存到MySQL吗?

$tmp_img = imagecreatetruecolor($tw,$th);
imagecopyresized($tmp_img, $im, 0, 0, 0, 0, $tw, $th, $size[0],$size[1]);
ob_start();
imagejpeg($tmp_img);
$i=ob_get_clean();
$fp=fopen($nar,'w');
fwrite($fp,$i);
fclose($fp);
$filename_thumb=addslashes(file_get_contents($_FILES['nar']));
mysql_query("INSERT INTO photos (filename,caption,album,thumbl) 
VALUES ('" . $filename . "','" . $caps . "','" . $_POST['albums'] . "','" .  
$filename_thumb . "')") or die(mysql_error());

1 个答案:

答案 0 :(得分:5)

$tmp_img不是文件名,它是GD图像资源。您必须使用imagejpeg()imagepng()imagegif()之一来编写图像。

您可以使用临时文件或output buffer来存储图像数据。