Zakładając, że w bazie MySQL mamy tabelę ‘gallery’ i w niej pole ‘data’ typu BLOB, w którym będziemy trzymać obrazek, dodawanie i pobieranie obrazka z bazy może wyglądać tak:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | // insert image function insertImage($file) { $f = fopen("$file", "rb"); $img = addslashes(fread($f,filesize($file))); fclose($f); $sql = "insert into gallery (data) values('$img')"; mysql_query($sql) or die('error: '.mysql_error()); } // get image function getImage($id) { $sql = "select * from gallery where id = ".$id; $r = mysql_query($sql) or die('error: '.mysql_error()); $i = mysql_fetch_array($r); $bytes = $i['data']; // pokaz obrazek header( "Content-type: image/jpeg"); echo $bytes; } |
Tabela gallery:
CREATE TABLE IF NOT EXISTS `gallery` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `data` BLOB NOT NULL, PRIMARY KEY (`id`) ) |