За последние 24 часа нас посетили 55059 программистов и 1726 роботов. Сейчас ищут 952 программиста ...

картинки в базе данных

Тема в разделе "PHP для новичков", создана пользователем Rizan, 2 июн 2010.

  1. Rizan

    Rizan Активный пользователь

    С нами с:
    25 июн 2007
    Сообщения:
    115
    Симпатии:
    0
    Адрес:
    Пермь
    Здравствуйте! делаю курсач, необходимо наполнять сайт инфой и картинками.все это нужно хранить в базе данных!
    так вот...добавление картинок я делаю как тут :http://blog.webmasterschool.ru/archives/109

    но при написании строки
    Код (Text):
    1.  header("Content-type: image/*");
    получаю ошибку Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\Apache Group\Apache2\htdocs\magazin\index.php:62) in C:\Program Files\Apache Group\Apache2\htdocs\magazin\index.php on line 37
    Как мне быть? если не только картинки на экран выводить нужно..картинки обязательно из базы доставать! :shock:
     
  2. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    Первым делом при появлении непонятной ошибки следует ввести её описание в поисковик.
     
  3. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    оффтоп: там есть один полезный комментарий
    Но это так, к слову

    А скрипт выводящий картинки надо в html и прописывать как картинку
     
  4. Rizan

    Rizan Активный пользователь

    С нами с:
    25 июн 2007
    Сообщения:
    115
    Симпатии:
    0
    Адрес:
    Пермь
    так это преподу надо доказать...ему надо в базе...)

    так если я делаю вот так:
    Код (Text):
    1. <img src={$a_row[img]}>
    не выводит картинку) выводит только,если переменная путь к файлу
     
  5. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    ну вот
    и надо прописывать

    и всегда преподы самые тупые
     
  6. Rizan

    Rizan Активный пользователь

    С нами с:
    25 июн 2007
    Сообщения:
    115
    Симпатии:
    0
    Адрес:
    Пермь
    так я рад бы))но курсач то надо делать..прийдется что ли на другом языке и бд...
     
  7. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    занятно,

    и возникают ещё вопрсы
     
  8. Rizan

    Rizan Активный пользователь

    С нами с:
    25 июн 2007
    Сообщения:
    115
    Симпатии:
    0
    Адрес:
    Пермь
    хм...перечитал еще раз статью...понял ошибку свою)щас исправлю
     
  9. Rizan

    Rizan Активный пользователь

    С нами с:
    25 июн 2007
    Сообщения:
    115
    Симпатии:
    0
    Адрес:
    Пермь
    не выходит..вот вобщем: в индексе такой код:
    PHP:
    1. <?
    2. $r=mysql_query("select * from student");      
    3.         echo mysql_error();
    4.         for ($i=0; $i<mysql_num_rows($r); $i++)
    5.            {
    6.             echo "<tr>";
    7.             $f=mysql_fetch_array($r);
    8.             if (empty($f[dr])){$f[dr]="-";}//если поле с ДР пусто
    9.             if (empty($f[dop])){$f[dop]="-";}//если поле с Доп инфой пусто
    10.  
    11.                 echo" <img src=\"image.php?id=$f[id]\" alt=\"dd\" />";
    12.    
    13.             echo "<td>$f[id]</td>
    14.                     <td>-</td>
    15.                     <td>$f[fak]</td>
    16.                     <td>$f[fio]</td>
    17.                     <td>$f[dr]</td>
    18.                     <td>$f[dop]</td>
    19.              
    20.                 </tr>";
    21.              }
    22. ?>
    Файл image.php
    PHP:
    1. <?php
    2. //require_once "mysql_connect.php" ;
    3. if ( isset( $_GET['id'] ) ) {
    4.   // Здесь $id номер изображения
    5.   $id = (int)$_GET['id'];
    6.   if ( $id > 0 ) {
    7.     $query = "SELECT `img` FROM `student` WHERE `id`=".$id;
    8.     // Выполняем запрос и получаем файл
    9.     $res = mysql_query($query);
    10.     if ( mysql_num_rows( $res ) == 1 ) {
    11.       $image = mysql_fetch_array($res);
    12.       // Отсылаем браузеру заголовок, сообщающий о том, что сейчас будет передаваться файл изображения
    13.       header("Content-type: image/*");
    14.       // И  передаем сам файл
    15.       echo $image['img'];
    16.     }
    17.   }
    18. }
    19.  
    20. ?>
    ни чего не выводит
     
  10. Rizan

    Rizan Активный пользователь

    С нами с:
    25 июн 2007
    Сообщения:
    115
    Симпатии:
    0
    Адрес:
    Пермь
    и если запрашиваю в браузере
    Код (Text):
    1. http://localhost/magazin/image.php?id=25
    то он мне предлагает скачать image.php
     
  11. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Rizan
    Заголовок неверный, значит.
     
  12. Rizan

    Rizan Активный пользователь

    С нами с:
    25 июн 2007
    Сообщения:
    115
    Симпатии:
    0
    Адрес:
    Пермь
    так какой заголовок..весь код представлен...кроме
    HTML:
    1. header("Content-type: image/*");
    и нет ничего
     
  13. Rizan

    Rizan Активный пользователь

    С нами с:
    25 июн 2007
    Сообщения:
    115
    Симпатии:
    0
    Адрес:
    Пермь
    возможно настройки апача???
     
  14. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    эх, нет такого типа
    бывают image/png, image/jpeg, image/gif, image/vnd.wap.wbmp

    Автор статьи понадеялся на общеомпьютерную грамотность читателей и просто для сокращения поставил * - любой (в данном случае из возможных) вариантов.
     
  15. Rizan

    Rizan Активный пользователь

    С нами с:
    25 июн 2007
    Сообщения:
    115
    Симпатии:
    0
    Адрес:
    Пермь
    ага)теперь выдает пустую картинку гигантских размеров))дальше копать....
     
  16. Rizan

    Rizan Активный пользователь

    С нами с:
    25 июн 2007
    Сообщения:
    115
    Симпатии:
    0
    Адрес:
    Пермь
    Все!Спасибо огромное!все работает!
     
  17. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    я вот только 1 не могу понять, неужели хранить изображения надо именно в базе данных, прям так и написано?
     
  18. Rizan

    Rizan Активный пользователь

    С нами с:
    25 июн 2007
    Сообщения:
    115
    Симпатии:
    0
    Адрес:
    Пермь
    ага..так и написано..вообще все нужно было делать delphi+access или другая бд...типа работу с бд изучать, но мне интересно пхп+мускуль. главным условием было хранение изобржений в бд, а технология баз данных и язык програирвания не суть..
     
  19. Rizan

    Rizan Активный пользователь

    С нами с:
    25 июн 2007
    Сообщения:
    115
    Симпатии:
    0
    Адрес:
    Пермь
    мне нужно было 2 курсача по разным предметам. по-второму нужно было сделать сайт, типа списка студентов) ну я решил объединить пректы)
     
  20. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    вообще-то, в случае хранения в базе не самих картинок, а путей к ним была бы проще реализация вывода самих картинок, но более грамотная работа с самой БД