imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 29.12.2003, 18:40     # 1
shuron
Full Member
 
Аватар для shuron
 
Регистрация: 16.09.2003
Сообщения: 793

shuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царстве
PHP MySQL

расскажите как картинку можно сохранить в MYSQL
картинки будут закачиватся на сарвак и м этим я уже разобрался...
ну имя файла (и остальные данные) достаю так:
$filename = $_FILES['userfile']['tmp_name'];
во только не знаю какой SQL запрос создать?
shuron вне форума  
Старый 29.12.2003, 18:45     # 2
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
http://php.spb.ru/php/image.html
RaZEr вне форума  
Старый 29.12.2003, 19:09     # 3
shuron
Full Member
 
Аватар для shuron
 
Регистрация: 16.09.2003
Сообщения: 793

shuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царстве
прикольно!!
хороший ресурс, спасибо!
а я ещё где-то про LOAD комманду в MYSQL читал. про это не слыхали?
как это делается? и какой вариант лучше?
shuron вне форума  
Старый 31.12.2003, 22:36     # 4
FreeSpace
Технический администратор
 
Аватар для FreeSpace
 
Регистрация: 01.03.2003
Адрес: Киев, Украина
Сообщения: 327

FreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собой
Цитата:
shuron:
и какой вариант лучше?
лучше хранить фотки в директории отдельной, а в базе данных хранить пути к этим фоткам.
Из соображений производительности.
__________________
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.
FreeSpace вне форума  
Старый 01.01.2004, 22:20     # 5
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
по идее база работает быстрее.... я не думаю что сильно большая разница в производительности, но блин.... удобнее в mysql
__________________
Всё будет хорошо!
Stasik вне форума  
Старый 01.01.2004, 23:54     # 6
shuron
Full Member
 
Аватар для shuron
 
Регистрация: 16.09.2003
Сообщения: 793

shuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царстве
ок ясненько
shuron вне форума  
Старый 01.01.2004, 23:56     # 7
FreeSpace
Технический администратор
 
Аватар для FreeSpace
 
Регистрация: 01.03.2003
Адрес: Киев, Украина
Сообщения: 327

FreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собой
Цитата:
Stasik:
по идее база работает быстрее.... я не думаю что сильно большая разница в производительности, но блин.... удобнее в mysql
Удобнее, не спорю.
Но есть куча минусов:
1. База НЕ работает быстрее файлов. База сама написана на файлах, как понимаешь. Чтобы соединится с базой, нужно открывать сокетное соединение, отправлять запрос серверу баз данных, потом получать от него ответ и только после этого тебе будут доступны те самые данные, которые ты запрашивал. Это не так заметно, если сервер баз данных и веб-сервер - это одна машина. Но не у всех хостеров это именно так.
2. Новички путаются с addslashes и magic_quotes_gpc, ругаются, почему картинки бьются при вставке в базу данных.
3. Картинки мало просто положить в базу данных, их ещё надо выводить... не раз уже встречал уникумов которые писали что-то типа
PHP код:
<TABLE>
    <TR>
        <TD><?=$row['photo']?></TD>
    </TR>
</TABLE>
а потом жаловались, что браузер не показывает картинку
На самом деле, чтобы вытащить картинку из базы данных нужно опять же подключится к СУБД, послать туда запрос, получить назад картинку (через сокет! Не забывайте, что хостер может отделить СУБД от веб-сервера и поставить их на разных компах), отправить соответствующие заголовки, желательно с поддержкой кеширования (а все ли новички знают, какие именно заголовки отправлять?) и только после этого вывести саму картинку.
И ссылатся на неё как <IMG SRC="picture.php?id=18">
Имхо, не самый удобный способ, в первую очередь из соображений производительности.
__________________
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.
FreeSpace вне форума  
Старый 02.01.2004, 00:02     # 8
shuron
Full Member
 
Аватар для shuron
 
Регистрация: 16.09.2003
Сообщения: 793

shuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царстве
интересные сооброжения однако не убедили
База данных и вебмервер это одна машина. Да и с остальными пунктами вроде разберусь.
shuron вне форума  
Старый 02.01.2004, 00:19     # 9
FreeSpace
Технический администратор
 
Аватар для FreeSpace
 
Регистрация: 01.03.2003
Адрес: Киев, Украина
Сообщения: 327

FreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собой
Ну моё дело - предупредить
__________________
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.
FreeSpace вне форума  
Старый 02.01.2004, 00:23     # 10
Saruman
::VIP::
 
Аватар для Saruman
 
Регистрация: 12.11.2002
Адрес: Nicosia, Cyprus
Сообщения: 1 285

Saruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman Гуру
ИМХО оптимальней всего вынести доступ к картинкам в отдельный data access object, и вести всю работу только через него. Хочешь хранить картинки в базе - хранишь. Возникают в дальнейшем проблемы с производительностью - меняешь _только_ dao на работы с картинками в файловой системе, а не БД. При нормальной реализации dao такая замена будет прозрачна для всех остальных классов.
__________________
"If people only knew how hard I work to gain my mastery, it wouldn't seem so wonderful at all." Michelangelo Buonarroti
Saruman вне форума  
Старый 02.01.2004, 00:35     # 11
shuron
Full Member
 
Аватар для shuron
 
Регистрация: 16.09.2003
Сообщения: 793

shuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царстве
Saruman ты имеёшь в виду что бы добавление картинок былов отдельном классе..
да это идея хороша
shuron вне форума  
Старый 02.01.2004, 00:45     # 12
Saruman
::VIP::
 
Аватар для Saruman
 
Регистрация: 12.11.2002
Адрес: Nicosia, Cyprus
Сообщения: 1 285

Saruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman Гуру
shuron
Не только и не столько добавление, сколько наоборот - получение уже добавленных.
__________________
"If people only knew how hard I work to gain my mastery, it wouldn't seem so wonderful at all." Michelangelo Buonarroti
Saruman вне форума  
Старый 02.01.2004, 00:47     # 13
shuron
Full Member
 
Аватар для shuron
 
Регистрация: 16.09.2003
Сообщения: 793

shuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царстве
ок ясно, спасибо за советы
shuron вне форума  
Старый 02.01.2004, 01:10     # 14
FreeSpace
Технический администратор
 
Аватар для FreeSpace
 
Регистрация: 01.03.2003
Адрес: Киев, Украина
Сообщения: 327

FreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собой
Полностью согласен с идеей Saruman.
__________________
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.
FreeSpace вне форума  
Старый 02.01.2004, 04:23     # 15
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
А чего там за получение такое что целый класс под него ?
RaZEr вне форума  
Старый 02.01.2004, 05:07     # 16
shuron
Full Member
 
Аватар для shuron
 
Регистрация: 16.09.2003
Сообщения: 793

shuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царстве
короче тут я всё сделал - работает вроде не плохо.
Класс вышел только для upload. для добавлени скриптик и для получения сой скриптик. Второму просто по GET передаю id нужной картинки.

Ну а теперь у меня другой вопрос по MySQL но это не здесь, рядом смотрите

Добавлено через 4 минуты:
всем спасибо!
shuron вне форума  
Старый 02.01.2004, 05:09     # 17
FreeSpace
Технический администратор
 
Аватар для FreeSpace
 
Регистрация: 01.03.2003
Адрес: Киев, Украина
Сообщения: 327

FreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собойFreeSpace Имеются все основания чтобы гордиться собой
RaZEr
Ну вот смотри.
Решил ты хранить картинки в базе данных, написал ты такой класс для их отображения:
PHP код:
class Picture
{
    
// статический метод
    
function show ($picture_name)
    {
        
$Query 'SELECT data, type
            FROM pictures
            WHERE `name` = "'
addslashes($picture_name).'"';
        
$result mysql_query($Query);
        
// сюда повставлять ещё проверок "нашло/не нашло картинку"
        
$picture mysql_fetch_array($result);
        
header('Content-Type: '.$picture['type']);
        echo 
$picture['data'];
        return 
true;
    }

А потом передумал и решил хранить картинки в файлах... или наоборот - без разницы
PHP код:
class Picture
{
    var 
$pictures_directory './pictures/';
    var 
$pictures_extension '.jpg';
    var 
$content_type       'image/jpeg';
    
    
// другой статический метод
    
function show ($picture_name)
    {
        
$full_path $this->pictures_directory $picture_name $this->puictures_extension;
        
// проверки, существует ли файл, доступен ли для чтения и т.д.
        
header('Content-Type: '.$this->content_type);
        echo 
file_get_contents($full_path);
        return 
true;
    }

Всё, что тебе нужно - это переписать класс. Остальной код можно даже не трогать.

ЗЫ: примеры очень упрощенные, не стоит использовать их в реальных ситуациях
Например, второй класс поддерживает только джипеги...
__________________
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.
FreeSpace вне форума  
Старый 02.01.2004, 05:13     # 18
Saruman
::VIP::
 
Аватар для Saruman
 
Регистрация: 12.11.2002
Адрес: Nicosia, Cyprus
Сообщения: 1 285

Saruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman Гуру
Также для получения полноценного класса сюда же стоит добавить добавление-редактирование-удаление картинок, чтобы вся работа с ними была сосредоточена в одном классе.
__________________
"If people only knew how hard I work to gain my mastery, it wouldn't seem so wonderful at all." Michelangelo Buonarroti
Saruman вне форума  
Старый 02.01.2004, 05:18     # 19
shuron
Full Member
 
Аватар для shuron
 
Регистрация: 16.09.2003
Сообщения: 793

shuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царстве
классно!!!
shuron вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 19:10.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.