Можете ли вы сохранить изображение, которое вы использовали imagecopyresized () на MySQL? - PullRequest
0 голосов
/ 21 июня 2011

Я пробовал несколько способов сделать миниатюры для моей фотогалереи, но так как я не смог найти способ изменить размер изображения, пока оно было 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 Ответ

5 голосов
/ 21 июня 2011

$tmp_img это не имя файла, это ресурс изображения GD.Вы должны написать изображение из него, используя один из imagejpeg(), imagepng() или imagegif().

Вы можетеиспользуйте временный файл или выходной буфер для хранения данных изображения.

...