Каковы правильные параметры для getimagesize($image_temp)
а также imagecreatefromjpeg($image_temp)
когда изображение извлекается из базы данных.
Пожалуйста, помогите мне, спасибо.
ТАБЛИЦА В БД
CREATE TABLE `image` (
`name` varchar(255) NOT NULL,
`mime` varchar(50) NOT NULL,
`size` int(20) NOT NULL,
`data` mediumblob NOT NULL,
`created` datetime NOT NULL,
`userid` int(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
$sql = "SELECT * FROM `image` WHERE ids = '0' limit 1";
$sqlquery = mysql_query($sql)or die(mysql_error());
$data = mysql_fetch_assoc($sqlquery);
$image_name = $data['name']; //file name
$image_size = $data['size']; //file size
$image_temp = $data['data']; //file blob
$image_type = $data['mime']; //file type
// Parameter incorrect
list($width, $height) = getimagesize($image_temp);
// Parameter incorrect
$source = imagecreatefromjpeg($image_temp);
ОШИБКА
Предупреждение:: не удалось открыть поток: нет такого файла или каталога в D: \ xampp \ htdocs \ mysite \ php \ imageread.php в строке 18
Предупреждение:: не удалось открыть поток: нет такого файла или каталога в D: \ xampp \ htdocs \ mysite \ php \ imageread.php в строке 31
Кажется, ваше изображение хранится в виде BLOB в вашей базе данных, и ваш запрос извлекает данные изображения.
В этом случае вы должны использовать getimagesizefromstring()
(http://php.net/manual/en/function.getimagesizefromstring.php) вместо getimagesize()
узнать размеры изображения.
Но будьте осторожны, привязки MySQL иногда испытывают трудности с получением больших BLOB-объектов из базы данных.
Других решений пока нет …