![]() |
сохранение и извлечения изображения в mysql
помогите пожалуста с проблемой сохранение и извлечения изображения в mysql с использованием php моя таблицы images.
CREATE TABLE `images` ( `id` int(11) NOT NULL auto_increment, `title` varchar(255) NOT NULL, `content` blob NOT NULL default '', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=cp1251; и код по идеи при загрузки изображения она должна высвечиваться с базу на экран но не работает может мы сможети помочь или подсказать свою версию ввода и вывода изображения <?php // Соединяемся с сервером БД mysql_connect ( 'localhost', 'root', '' ); mysql_query( 'SET NAMES cp1251' ); mysql_select_db ( 'images' ); if( $_SERVER['REQUEST_METHOD'] == 'POST' ) { // Проверяем пришел ли файл if( !empty( $_FILES['image']['name'] ) ) { // Проверяем, что при загрузке не произошло ошибок if ( $_FILES['image']['error'] == 0 ) { // Если файл загружен успешно, то проверяем - графический ли он if( substr($_FILES['image']['type'], 0, 5)=='image' ) { // Читаем содержимое файла $image = file_get_contents( $_FILES['image']['tmp_name'] ); // Экранируем специальные символы в содержимом файла $image = mysql_escape_string( $image ); $title = mysql_escape_string( $_POST['title'] ); // Формируем запрос на добавление файла в базу данных $query="INSERT INTO `images` VALUES(NULL, '".$title."', '".$image."')"; // После чего остается только выполнить данный запрос к базе данных mysql_query( $query ); } } } } ?> <html> <head> <title>Загрузка изображений</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> </head> <body> <h3>Загруженные изображения</h3> <p> <?php $query = "SELECT id, title FROM images WHERE 1 ORDER BY id"; $res = mysql_query( $query ); while( $img = mysql_fetch_array( $res ) ) { echo '<img src="image.php?id='.$img['id'].'" alt="'.$img['id'].'" />'; } ?> </p> <form enctype="multipart/form-data" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>"> Наименование: <input type="text" name="title" value="" /><br/> Изображение: <input type="file" name="image" /><br/> <input type="submit" value="Загрузить" /> </form> </body> </html> |
И что там неработает? Какие ошибки?
|
не выходит изображение
|
Куда не выходит?
В таблицу базы? В броузер? image.php вообще существует? |
sambik, раз уж ты решил заняться программированием, позволь дать тебе несколько советов, как программист программисту.
1) слышал про такой сайт - google.com? запрос http://www.google.com.ua/search?q=php+mysql+image выдает столько ссылок на статьи и примеры, аналогичные твоему, что способен разобраться даже начинающий. не надо с первой же проблемой ломиться на форумы - другое дело, если вопрос нетривиальный или же по теме ничего не нашлось 2) если уж задаешь вопрос - то максимально точно указывай, в чем проблема. EvroStandart тебя правильно переспрашивает - слова "помогите, не работает что-то, где-то, почему-то" говорят очень мало по сравнению с описанием "вот тут вот в ХХХ строке выдает ошибку ХХХ" 3) опять же - задавая вопрос, предоставляй не просто кусок своего кода, а именно то место, где загвоздка. если у тебя не выводится картинка из базы на страничку, то телепатов, способных на расстоянии прочесть, что же у тебя там в файле image.php, еще не родили и даже не зачали. 4) и последнее: на сайте есть замечательный тег CODE, который, как ни странно, предназначен для публикации листингов |
[img]C:\1.jpg[/img]
[img]C:\2.jpg[/img] у меня проблемы с выводом изображения у меня установлен wampserver2 по идеи должен поддерживать. После загрузки должно появляться изображение которое загрузилась но появляется (x1).на explorer и google ch.p. а на mozille и opere толька (1). И еще хотел спросить как можно через браузер сохранять изображение в папку. А путь к папке можно хоронить в базе а так можно вытащить из базы я думаю так <img srt="<? row ["imag"]?>"> заранее спасибо. <?php // Соединяемся с сервером БД mysql_connect ( 'localhost', 'root', '' ); mysql_query( 'SET NAMES cp1251' ); mysql_select_db ( 'test2' ); if( $_SERVER['REQUEST_METHOD'] == 'POST' ) { // Проверяем пришел ли файл if( !empty( $_FILES['image']['name'] ) ) { // Проверяем, что при загрузке не произошло ошибок if ( $_FILES['image']['error'] == 0 ) { // Если файл загружен успешно, то проверяем - графический ли он if( substr($_FILES['image']['type'], 0, 5)=='image' ) { // Читаем содержимое файла $image = file_get_contents( $_FILES['image']['tmp_name'] ); // Экранируем специальные символы в содержимом файла $image = mysql_escape_string( $image ); $title = mysql_escape_string( $_POST['title'] ); // Формируем запрос на добавление файла в базу данных $query="INSERT INTO `images` VALUES(NULL, '".$title."', '".$image."')"; // После чего остается только выполнить данный запрос к базе данных mysql_query( $query ); } } } } ?> <html> <head> <title>Загрузка изображений</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> </head> <body> <h3>Загруженные изображения</h3> <p> <?php $query = "SELECT id, title FROM images WHERE 1 ORDER BY id"; $res = mysql_query( $query ); while( $img = mysql_fetch_array( $res ) ) { echo '<img src="img2.php?id='.$img['id'].'" alt="'.$img['id'].'" />'; // вывод изображений из базы данных } ?> </p> <form enctype="multipart/form-data" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>"> Наименование: <input type="text" name="title" value="" /><br/> Изображение: <input type="file" name="image" /><br/> <input type="submit" value="Загрузить" /> </form> </body> </html> img2.php Код: Выделить всё <? mysql_connect ( 'localhost', 'root', '' ); mysql_query( 'SET NAMES cp1251' ); mysql_select_db ( 'test2' ); $sql = "SELECT * FROM images WHERE id=$_GET[id]"; $result = mysql_query($sql); $row = mysql_fetch_assoc($result); $pic = $row["content"]; mysql_free_result($result); header("Content-Type: image/jpg"); echo $pic; ?> CREATE TABLE `images` ( `id` int(11) NOT NULL auto_increment, `title` varchar(255) NOT NULL, `content` blob NOT NULL default '', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=cp1251; |
Цитата:
Ты результаты проверок "if" в коде проверял? Базу проверял? Или просто скопировал себе готовый код и дальше можешь только спрашивать почему неработает? Цитата:
|
Из всегда рабочих "народных советов"
Таблица image Код:
CREATE TABLE image ( Код:
<form enctype='multipart/form-data' method=post> Код:
<?php |
Часовой пояс GMT +4, время: 20:22. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.