![]() |
PHP MySQL
расскажите как картинку можно сохранить в MYSQL
картинки будут закачиватся на сарвак и м этим я уже разобрался... ну имя файла (и остальные данные) достаю так: $filename = $_FILES['userfile']['tmp_name']; во только не знаю какой SQL запрос создать? |
|
прикольно!!
хороший ресурс, спасибо! а я ещё где-то про LOAD комманду в MYSQL читал. про это не слыхали? как это делается? и какой вариант лучше? |
Цитата:
Из соображений производительности. |
по идее база работает быстрее.... я не думаю что сильно большая разница в производительности, но блин.... удобнее в mysql
|
ок ясненько
|
Цитата:
Но есть куча минусов: 1. База НЕ работает быстрее файлов. База сама написана на файлах, как понимаешь. Чтобы соединится с базой, нужно открывать сокетное соединение, отправлять запрос серверу баз данных, потом получать от него ответ и только после этого тебе будут доступны те самые данные, которые ты запрашивал. Это не так заметно, если сервер баз данных и веб-сервер - это одна машина. Но не у всех хостеров это именно так. 2. Новички путаются с addslashes и magic_quotes_gpc, ругаются, почему картинки бьются при вставке в базу данных. 3. Картинки мало просто положить в базу данных, их ещё надо выводить... не раз уже встречал уникумов которые писали что-то типа PHP код:
На самом деле, чтобы вытащить картинку из базы данных нужно опять же подключится к СУБД, послать туда запрос, получить назад картинку (через сокет! Не забывайте, что хостер может отделить СУБД от веб-сервера и поставить их на разных компах), отправить соответствующие заголовки, желательно с поддержкой кеширования (а все ли новички знают, какие именно заголовки отправлять?) и только после этого вывести саму картинку. И ссылатся на неё как <IMG SRC="picture.php?id=18"> Имхо, не самый удобный способ, в первую очередь из соображений производительности. |
интересные сооброжения однако не убедили
База данных и вебмервер это одна машина. Да и с остальными пунктами вроде разберусь. ;) |
Ну моё дело - предупредить :)
|
ИМХО оптимальней всего вынести доступ к картинкам в отдельный data access object, и вести всю работу только через него. Хочешь хранить картинки в базе - хранишь. Возникают в дальнейшем проблемы с производительностью - меняешь _только_ dao на работы с картинками в файловой системе, а не БД. При нормальной реализации dao такая замена будет прозрачна для всех остальных классов.
|
Saruman ты имеёшь в виду что бы добавление картинок былов отдельном классе..
да это идея хороша |
shuron
Не только и не столько добавление, сколько наоборот - получение уже добавленных. |
ок ясно, спасибо за советы
|
Полностью согласен с идеей Saruman.
|
А чего там за получение такое что целый класс под него ?
|
короче тут я всё сделал - работает вроде не плохо.
Класс вышел только для upload. для добавлени скриптик и для получения сой скриптик. Второму просто по GET передаю id нужной картинки. Ну а теперь у меня другой вопрос по MySQL но это не здесь, рядом смотрите Добавлено через 4 минуты: всем спасибо! |
RaZEr
Ну вот смотри. Решил ты хранить картинки в базе данных, написал ты такой класс для их отображения: PHP код:
PHP код:
ЗЫ: примеры очень упрощенные, не стоит использовать их в реальных ситуациях :) Например, второй класс поддерживает только джипеги... |
Также для получения полноценного класса сюда же стоит добавить добавление-редактирование-удаление картинок, чтобы вся работа с ними была сосредоточена в одном классе.
|
классно!!!
|
| Часовой пояс GMT +4, время: 19:43. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.