Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Программирование > PHP

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 10.09.2004, 11:27
juggy вне форума Посмотреть профиль Отправить личное сообщение для juggy Посетить домашнюю страницу juggy Найти все сообщения от juggy
  № 1  
juggy
 
Аватар для juggy

Регистрация: Feb 2001
Адрес: LJ/~aleshru
Сообщений: 4,778
Отправить сообщение для juggy с помощью ICQ Отправить сообщение для juggy с помощью MSN Отправить сообщение для juggy с помощью Yahoo Отправить сообщение для juggy с помощью Skype™
По умолчанию Serialize

Есть задача.
В базе в поле BLOB хранятся serialize данные. В том числе поле image в котором хранится картинка. При закачке всё отлично пишется в базу.
PHP код:
<? 
$fp    
=    fopen($user_file"r"); 
$contents    =    addslashes(fread($fpfilesize ($user_file))); 
fclose($fp); 
$serial['image']['content']=    $contents
$serial['image']['ct']=    $content_type
$to_base=    serialize($serial); 
?>
А потом возникает проблема. Если юзеру перезаписать данные, но не надо перезакачивать картинку логика простая:
PHP код:
<? 
if(!is_uploaded_file($user_file)) { 
$sql            =    "SELECT `serialize` FROM `adb` WHERE `id`='".$uid."'"
list(
$serial_i)    =    mysql_fetch_row(q($sql)); 
$serial_i        =    stripslashes($serial_i); 
$un                =    unserialize($serial_i); 
$image            =    $un['image']['content']; 
$content_type    =    $un['image']['ct']; 
if(
$image && $content_type

$serial['image']    =    $contents;     
$serial['ct']        =    $content_type


$to_base serialize($serial); 

?>
Из базы берутся две переменные - сама картинка и её content-type (для проверки), в переменных то, что надо. тоесть именно то что и должно быть, это я проверял не раз. При записывании в базу и последующем аутпуте serialize'нуте данные пишутся правильно все кроме переменной $image. Все возможные add и strip slashes варианты я уже попробовал. Что делать я не совсем понимаю...
__________________
Что за дурь? 50 символов в подписи!?

Старый 10.09.2004, 17:01
nagash вне форума Посмотреть профиль Отправить личное сообщение для nagash Посетить домашнюю страницу nagash Найти все сообщения от nagash
  № 2  
nagash
Ветеран форума
 
Аватар для nagash

Регистрация: Jul 2001
Адрес: Москва
Сообщений: 3,088
Отправить сообщение для nagash с помощью ICQ
зачем в базе хранить сериалайзнутые данные?
зачем в базе хранить бинарники?

Старый 10.09.2004, 18:59
juggy вне форума Посмотреть профиль Отправить личное сообщение для juggy Посетить домашнюю страницу juggy Найти все сообщения от juggy
  № 3  
juggy
 
Аватар для juggy

Регистрация: Feb 2001
Адрес: LJ/~aleshru
Сообщений: 4,778
Отправить сообщение для juggy с помощью ICQ Отправить сообщение для juggy с помощью MSN Отправить сообщение для juggy с помощью Yahoo Отправить сообщение для juggy с помощью Skype™
Блин, нагаш, ну надо так.
Сериалайз потому что много полей в нём.
Бинарные данные потому что машин много, а база одна, на одной машине.
__________________
Что за дурь? 50 символов в подписи!?

Создать новую тему   Часовой пояс GMT +4, время: 02:45.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.