Возможно, вы захотите отправить данные блоба / изображения в вашу БД в шестнадцатеричном виде, так как это наиболее эффективный метод:
if ( is_uploaded_file($_FILES['picture']['tmp_name']) ) {
$originalImage = imagecreatefromjpeg($_FILES['picture']['tmp_name']);
$thumbImage = imagecreatetruecolor(100, 100);
imagecopyresized($thumbImage, $originalImage, 0, 0, 0, 0, 100,100);
imagedestroy($originalImage); // Free the memory as soon as possible
ob_start();
imagejpeg( $thumbImage, NULL, JPEG_QUALITY);
$thumbData = ob_get_contents();
ob_end_clean();
imagedestroy($thumbImage);
$wpdb->query("UPDATE ".$wpdb->prefix."items SET picture = x'".bin2hex($thumbData)."' WHERE id=$id'");
}
обратите внимание, что x'".bin2hex($thumbData)."'
x
помечает содержимое строки как шестнадцатеричное.
Обратите внимание:
Существует много споров о том, стоит ли сохранять изображения в базе данных или нет. По общему мнению, это плохая идея , за исключением случаев, когда:
- Ваши изображения размером менее 2 МБ
- Вы намереваетесь хранить больше не более 1 ГБ всего загара (и даже при 1 ГБ вы его растягиваете).
Во всех остальных случаях сохраняйте изображение на диске и сохраняйте местоположение указанного изображения в вашей базе данных.