Мне нужно создать простую базу данных mySQL с полем для изображения.Можно ли загрузить изображение на сервер mySQL?
Есть ли простой пример, объясняющий тип поля и как загрузить его из каталога на сервере и т. Д.??
Спасибо.
Эрик
Мне нужно создать простую базу данных mySQL с полем для изображения.Можно ли загрузить изображение на сервер mySQL?
Есть ли простой пример, объясняющий тип поля и как загрузить его из каталога на сервере и т. Д.??
Спасибо.
Эрик
Вот простой пример BLOB Storage:
CREATE TABLE IF NOT EXISTS `files` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`filename` varchar(255) DEFAULT NULL,
`ext` varchar(5) DEFAULT NULL,
`filedata` blob,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;
<?php
$db = mysql_connect('localhost', 'user', 'pass') or die('Could not connect:' . mysql_error());
mysql_select_db('the_database',$db);
if(isset($_FILES['upload'])){
if (is_uploaded_file($_FILES['upload']['tmp_name'])) {
$file_parts = pathinfo($_FILES['upload']['name']);
$file['name'] =$file_parts['filename'];
$file['ext'] =$file_parts['extension'];
$file['data'] =addslashes(file_get_contents($_FILES['upload']['tmp_name']));
mysql_query('INSERT into files (id,filename,ext,filedata) values ("","'.$file['name'].'","'.$file['ext'].'","'.$file['data'].'")',$db) or die(mysql_error());
$notice="File Uploaded successfully";
}
}
?>
<html>
<head>
<title>BLOB Upload</title>
</head>
<body>
<form method="POST" enctype="multipart/form-data" action="">
<h1 align="center">BLOB Upload</h1>
<p align="center"><input type="file" name="upload" size="40"></p>
<p align="center"><input type="submit" value="Upload"></p>
<?php if(isset($notice)){echo '<p align="center">'.$notice.'</p>';}?>
</form>
</body>
</html>
Есть два способа (по крайней мере) для хранения изображений в базе данных: -
двоичные данные, хранящиеся в базах данных, известны как BLOBS (больших двоичных объектов), вы можете прочитать больше здесь: -
Поместите изображения в папки, используя fwrite или php GD libary.
Затем сохраните путь изображения в базе данных, а также дополнительную информацию, такую как размер, ширина, высота, имя и т. Д., Чтобы иметь возможность фильтровать/сортировать их.
Вы можете использовать функцию LOAD_FILE для возврата содержимого файла в виде строки, например. -
INSERT INTO table_name VALUES (LOAD_FILE('img.png'));
Старый ответ, будет обновлять в ближайшее время. с PDO –