Я думаю, что два условия, которые Вы ищете, равенство (==) и , идентификационные данные . Например:
>>> a = [1,2,3]
>>> b = [1,2,3]
>>> a == b
True <-- a and b have values which are equal
>>> a is b
False <-- a and b are not the same list object
Сначала вы создаете таблицу MySQL для хранения изображений, например:
create table testblob (
image_id tinyint(3) not null default '0',
image_type varchar(25) not null default '',
image blob not null,
image_size varchar(25) not null default '',
image_ctgy varchar(25) not null default '',
image_name varchar(50) not null default ''
);
Затем вы можете записать изображение в базу данных, например:
/***
* All of the below MySQL_ commands can be easily
* translated to MySQLi_ with the additions as commented
***/
$imgData = file_get_contents($filename);
$size = getimagesize($filename);
mysql_connect("localhost", "$username", "$password");
mysql_select_db ("$dbname");
// mysqli
// $link = mysqli_connect("localhost", $username, $password,$dbname);
$sql = sprintf("INSERT INTO testblob
(image_type, image, image_size, image_name)
VALUES
('%s', '%s', '%d', '%s')",
/***
* For all mysqli_ functions below, the syntax is:
* mysqli_whartever($link, $functionContents);
***/
mysql_real_escape_string($size['mime']),
mysql_real_escape_string($imgData),
$size[3],
mysql_real_escape_string($_FILES['userfile']['name'])
);
mysql_query($sql);
Вы можете отобразить изображение из базы данных на веб-странице с помощью:
$link = mysql_connect("localhost", "username", "password");
mysql_select_db("testblob");
$sql = "SELECT image FROM testblob WHERE image_id=0";
$result = mysql_query("$sql");
header("Content-type: image/jpeg");
echo mysql_result($result, 0);
mysql_close($link);
Помните, что обслуживание изображений из БД обычно намного, намного намного медленнее, чем обслуживание их с диска.
Вы запускаете процесс PHP, открываете соединение с БД, заставляете БД считывать данные изображения с того же диска и ОЗУ для кеширования, что и файловая система, передавая их через несколько сокетов и буферов, а затем отправляя их через PHP, что по умолчанию делает его некэшируемым и добавляет накладные расходы на фрагментированное кодирование HTTP.
Современные веб-серверы OTOH могут обслуживать изображения с помощью всего лишь нескольких оптимизированных вызовов ядра (файл с отображением памяти и эта область памяти, переданная в стек TCP), так что они не 'даже память не копируется, и накладных расходов почти нет.
Это'
Я также рекомендую подумать над этим, а затем выбрать сохранение изображений в файловой системе, а не в БД. см. здесь: Хранение изображений в БД - да или нет?