За последние 24 часа нас посетили 17750 программистов и 1701 робот. Сейчас ищут 1762 программиста ...

Как хранить изображения в БД?

Тема в разделе "PHP и базы данных", создана пользователем PRO1rock1, 27 мар 2006.

  1. PRO1rock1

    PRO1rock1 Guest

    Слышал, что можно изображения хранить прямо в базе. Сказали, надо задать тип поля BLOB. Как этим пользоваться подскажите, плиз.
     
  2. 440Hz

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

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    PRO1rock1
    1. изображения надо хранить в файловой системе.
    2. в базе хранить их ID иои имя
     
  3. PRO1rock1

    PRO1rock1 Guest

    А ссылаться потом на них как?
     
  4. мухомор2

    мухомор2 Активный пользователь

    С нами с:
    11 мар 2006
    Сообщения:
    99
    Симпатии:
    0
    Адрес:
    [KZN][MR]
    пишеш функцию которая выводит картинку с считанами из базы именем
     
  5. PRO1rock1

    PRO1rock1 Guest

    А как можно сделать так, чтобы при аплоаде имя картинке присвоить другое. Т.е. в одном окне типа "файл" картинка как есть, а в окошке типа "текст" пишем имя, которое присвоится после апплоуда? или так нельзя?
     
  6. мухомор2

    мухомор2 Активный пользователь

    С нами с:
    11 мар 2006
    Сообщения:
    99
    Симпатии:
    0
    Адрес:
    [KZN][MR]
    что ты имееш введу? типа когда наводишна картинку там высвечиавется текст?
     
  7. 440Hz

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

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    PRO1rock1
    1. загружаешь картинку на сервер.
    2. делаешь запись в таблицу картинок. там же можно и указать ALT тег. я еще храню в базе W,H и тип картинки, т.е. ее расширение
    3. получаешь ее ID
    4. пеерименовываешь и перемещаешь картинку в нужную папку (/images/) и даешь ей имя ID.<старое расширение>
    5. когда надо показать картинку офромляешь <img src="/images/ID.ext">
     
  8. мухомор2

    мухомор2 Активный пользователь

    С нами с:
    11 мар 2006
    Сообщения:
    99
    Симпатии:
    0
    Адрес:
    [KZN][MR]
    вот тебе код высвечивания картинки)
    допустим у нас есть база даных piks в ней таблица piki
    в таблице 3 поля.
    id , name , text создать таблицк можно так:
    create table piki (id int , name tinytext , text text )
    а дальше идёт подключение и т.д.
    п.с. код не проверял..
    $db=mysql_connect("localhost", "root", "");
    mysql_select_db("piks");

    $sql="SELECT * FROM piki where id=$namepic";
    $result=mysql_query($sql);
    $num_results=mysql_num_rows($result);
    $id = $row['id'];
    $name= $row['name'];
    $text = $row['text'];
    print "<img src='$name' alt='$text '>";
     
  9. PRO1rock1

    PRO1rock1 Guest

    440hz
    Пасибочки... Пойду попробую....
    мухомор2
    Тебе тоже спасибо...
     
  10. мухомор2

    мухомор2 Активный пользователь

    С нами с:
    11 мар 2006
    Сообщения:
    99
    Симпатии:
    0
    Адрес:
    [KZN][MR]
  11. Mavir

    Mavir Guest

    Вообще-то, если и нужно сохранить файл в базе данных, то лучше делать средствами MySQL, используя функцию LOAD_FILE()
    Например:
    UPDATE tbl_name
    SET blob_column=LOAD_FILE("/tmp/picture.jpg")
    WHERE id=1;