How to store images directly in the sql database

  • Автор темы webdeveloper
  • Дата начала
Статус
В этой теме нельзя размещать новые ответы.

webdeveloper

Guest
How to store images directly in the sql database

Тут человек спрашивал как картинку в базу записать, но почему то ему на это никто по нормальному ответиь не смог, или просто не захотел. Хотя вопрос вроде нормальный. Для того форум и существует - чтобы спрашивать и получать ответы.

На всякий случай вот ссылка на статью по английски как это все делать - http://www.phpbuilder.com/columns/florian19991014.php3

вот здесь это все уже обсуждалось . Хотя про самое главное там никто так и не сказал. Большой разницы как хранить картинки нет, а вот как удалять их - вот тут разница есть, и достаточно существенная.
 

Demiurg

Guest
Re: How to store images directly in the sql database

Автор оригинала: webdeveloper
Тут человек спрашивал как картинку в базу записать, но почему то ему на это никто по нормальному ответиь не смог, или просто не захотел.
А что ты ответишь, если к тебе подойдет человек и спросит, как лучше покончить с жизнью ?

Большой разницы как хранить картинки нет....
Есть и очень большая. Представь, сколько всего надо сделать серверу, что бы вытащить одну картинку в 2 случаях.
 

tony2001

TeaM PHPClub
Re: How to store images directly in the sql database

Автор оригинала: webdeveloper
Тут человек спрашивал как картинку в базу записать, но почему то ему на это никто по нормальному ответиь не смог, или просто не захотел.
совершенно верно - нет желания отвечать на вопрос, который уже раз 50 подымался и обсуждался по полной программе.

Большой разницы как хранить картинки нет, а вот как удалять их - вот тут разница есть, и достаточно существенная.
ты ошибаешься.
 

webdeveloper

Guest
Re: Re: How to store images directly in the sql database

Автор оригинала: Demiurg
А что ты ответишь, если к тебе подойдет человек и спросит, как лучше покончить с жизнью ?
НУ ты сравнил...
Есть и очень большая. Представь, сколько всего надо сделать серверу, что бы вытащить одну картинку в 2 случаях.
Все имеет свои достоинства и недостатки. Хранение картинок в базе данных предпологает увеличение размера самой базы данных и нагрузки на сервер, но зато значительно облегчает жизнь разработчику. Когда они в базе их проще удалять и двигать. И никаких проблем с разрешениями на запись для каких то файлов.
 

Alien

Новичок
О да. Значительно облегчает.

Наберется у хостера таких юзверей сотня-другая, и потом все начинает тормозить от души :-(

Откуда эта мода пошла - хранить картинки в БД???
 

[VS]

Guest
Автор оригинала: Альен
О да. Значительно облегчает.
Наберется у хостера таких юзверей сотня-другая, и потом все начинает тормозить от души :-(
Откуда эта мода пошла - хранить картинки в БД???
1 - Человек узнает что есть PHP и что на нем можно писать страницы.
2 - Человек узнает - ага - можно инфу в базе хранить.
3 - Человек пишет все что можно включая статику через
echo "page data ..."
и хранит все что можно (включая статику) в базе.
 

Demiurg

Guest
Re: Re: Re: How to store images directly in the sql database

Автор оригинала: webdeveloper
...но зато значительно облегчает жизнь разработчику.
вот это очень спорно. Вот сравни:
copy($tempfile , $file);

и

$content = addslashes($content);
mysql_query("insert into table(id , pic) values(null , '$content')");
 

Макс

Старожил PHPClub
Re: Re: Re: How to store images directly in the sql database

Все имеет свои достоинства и недостатки. Хранение картинок в базе данных предпологает увеличение размера самой базы данных и нагрузки на сервер, но зато значительно облегчает жизнь разработчику. Когда они в базе их проще удалять и двигать. И никаких проблем с разрешениями на запись для каких то файлов.
А что за проблемы с файлами?
Не знаю, может мне не приходилось решать те задачи, при решении которых у тебя возникли проблемы но:

1. Можно просто путь файла в БД запихнуть
2. Можно все файлы в один каталог записывать с именами <id>.<расширение>. ID - значение идентификатора из таблицы. Оно уникальное и с именами файлов проблем не будет.
Если на один ID нужно несколько файлов записать - создаем каталог и в него файлы пишем. Удаление и перезапись делается без проблем.

Второй способ ИМХО пофункциональнее.

Хранение картинок в базе данных предпологает увеличение размера самой базы данных
Насколько я знаю, MySQL (а именно он чаще всего используется в WEB) при больших размерах БД начинает тормозить (в ru.php на эту тему как-то была дискусия)
 

Demiurg

Guest
Re: Re: Re: Re: Re: How to store images directly in the sql database

Автор оригинала: Unregistered
При этом тебе нужно иметь разрешение на запись для тех файлов в которых ты эти картинки двигаешь. А если писать в базу данных то никаких проблем с этим не возникает.
А как на счет прав записи в бд ?
Может там тоже прав не будет. Что тогда ?
 

webdeveloper

Guest
Re: Re: Re: Re: How to store images directly in the sql database

Автор оригинала: Maxim Matyukhin
А что за проблемы с файлами?
Не знаю, может мне не приходилось решать те задачи, при решении которых у тебя возникли проблемы но:
1. Можно просто путь файла в БД запихнуть
2. Можно все файлы в один каталог записывать с именами <id>.<расширение>. ID - значение идентификатора из таблицы. Оно уникальное и с именами файлов проблем не будет.
Если на один ID нужно несколько файлов записать - создаем каталог и в него файлы пишем. Удаление и перезапись делается без проблем.
Второй способ ИМХО пофункциональнее.
Насколько я знаю, MySQL (а именно он чаще всего используется в WEB) при больших размерах БД начинает тормозить (в ru.php на эту тему как-то была дискусия)
Я так и делал почти всегда, но это не всегда самый удобный способ. Нужно отслеживать соответствие данных в базе с данными на диске. Проще иметь все в базе данных. При этом, я не говорю, что это всегда лучше - но это почти всегда проще. Я с MySQL работал совсем немного, в основном с MS SQL Server - тот нисколько не тормозит из за этого. Есть там некоторые ограничения на операции с полем Image но они не существенны. А жизнь сильно облегчается. Опять таки - все данные в одном месте лежат.
 

webdeveloper

Guest
Re: Re: Re: Re: Re: Re: How to store images directly in the sql database

Автор оригинала: Demiurg
А как на счет прав записи в бд ?
Может там тоже прав не будет. Xnm тогда ?
тогда ты с ней вообще по нормальному работать не сможешь, и не только картинку а и ее путь записать не сможешь :)
 

tony2001

TeaM PHPClub
глупый разговор на тему, которая уже давно обсосана.
что тут обсуждать?
хочется - храни, только не говори, что это лучше всего и когда советуешь кому-то - предлагай все варианты, а не только этот.
уже давно доказано, что хранение картинок в базе - не есть лучший способ ее(базы) использования.
 

RomikChef

Guest
Автор оригинала: webdeveloper
Хранение картинок в базе данных предпологает увеличение размера самой базы данных и нагрузки на сервер, но зато значительно облегчает жизнь разработчику.
Дустом надо травить таких разработчиков.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху