ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Аватары, хранящиеся в бд
  #1  
Старый 08.05.2006, 18:48
Аватар для Дикс
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
Question Аватары, хранящиеся в бд

Как лучше сделать - закачивать аватары в спецпапку форума или сохранять их в базе?
Попробовал сделать форму
<form action="блаблабла" method='POST' enctype="multipart/form-data" >
<input type='file' name='useravatar' /></td>

форма отправляет данные, затем

$useravatar = $HTTP_POST_VARS['useravatar']; // line 27
и значение просто добавляется в БД

Но при выполнении скрипта вываливается:

Notice: Undefined index: useravatar in z:\home\localhost\www\dronix6\register.php on line 27

и в базу ничего не добавляется.

Столбец в базе:
u_avatar mediumblob BINARY
значение для юзера:
[BLOB - 0 Bytes]

Почему андефайнед индекс и может стоит просто сохранять их в папку?
 
Ответить с цитированием

  #2  
Старый 08.05.2006, 20:07
Аватар для Trinux
Trinux
Познавший АНТИЧАТ
Регистрация: 26.11.2004
Сообщений: 1,149
Провел на форуме:
941818

Репутация: 569


По умолчанию

1) хронить аватары в базе все равно что на катерах спортивных в канистрах нефть через континенты перевозить =))
2) все данные из полей типа file пишутся не в $_POST а в $_FILES, т.е.
$useravatar = $_FILES['useravatar'];
 
Ответить с цитированием

  #3  
Старый 08.05.2006, 20:20
Аватар для Дикс
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

пасиба
а я всегда юзаю длинные прототипы $_post или гет - $http_get_vars['']
привык уже к ним. мне стоит перейти на короткие, как у тебя?

И ещё вопрос:
если я буду заливать авики в папку, мудро ли будет затем прочитать содержимое авы
в массив и проверить его на наличие текста <? или <script ?
 
Ответить с цитированием

  #4  
Старый 08.05.2006, 21:47
Аватар для Talisman
Talisman
Постоянный
Регистрация: 22.04.2006
Сообщений: 566
Провел на форуме:
1325772

Репутация: 517


Отправить сообщение для Talisman с помощью ICQ
По умолчанию

Цитата:
Сообщение от Дикс  
пасиба
а я всегда юзаю длинные прототипы $_post или гет - $http_get_vars['']
привык уже к ним. мне стоит перейти на короткие, как у тебя?

И ещё вопрос:
если я буду заливать авики в папку, мудро ли будет затем прочитать содержимое авы
в массив и проверить его на наличие текста <? или <script ?
ну... положим не только на эти, их можно еще и зашифровать... вообщем поле для экспериментов.
смотря как ты используешь эти файлы - лучше перестраховаться, и отсеять
 
Ответить с цитированием

  #5  
Старый 08.05.2006, 22:22
Аватар для virgoz
virgoz
Участник форума
Регистрация: 16.09.2004
Сообщений: 193
Провел на форуме:
621131

Репутация: 47
Отправить сообщение для virgoz с помощью ICQ
По умолчанию

Цитата:
если я буду заливать авики в папку, мудро ли будет затем прочитать содержимое авы
в массив и проверить его на наличие текста <? или <script ?
Для этого есть специальная функция по проверке содержимого файла. Не помню правда какая.
 
Ответить с цитированием

  #6  
Старый 09.05.2006, 04:04
Аватар для Trinux
Trinux
Познавший АНТИЧАТ
Регистрация: 26.11.2004
Сообщений: 1,149
Провел на форуме:
941818

Репутация: 569


По умолчанию

лол, ребята. Вы извените, не хочу никого обидеть но действительно смешно =)
Делаешь
$img=getimagesize($_FILES['useravatar']);
и получаешь массив в переменную $img только в том случае, если файл является картинкой. В массив пишется инфа о файле. Графический тип, глубина цвета, если не изменяет память, размеры, атрибуты для тега <img> и другое. Если в нем присутствует что-то типа <? или <script то функция вернет 0, так как это уже не графический файл. Т.е. делаем
PHP код:
$img=getimagesize($_FILES['useravatar']);
if(
$img){ 
или
PHP код:
$img=getimagesize($_FILES['useravatar']);
if(
is_array($img)){ 
Но первый способ более оптимальный.
Короче вот... http://ru.php.net/manual/ru/function.getimagesize.php
Да и вообще любые ответы на любые вопросы можно найти в мане. просто надо научится им пользоваться.

Насчет $_POST и $HTTP_POST_VARS... насколько я знаю - разницы нет. Переменные автоматом создаются и теб и другие. Но я привык к короткому обозначению. Он более удобный и короткий и не мусорит код.

А читать файл в массив дабы проверить его на наличие подобных символов вообще глупо. Подумай сам, как эти скрипты будут исполняться, если ты файл заливаешь к себе на сервак? Если, конечно, у тебя апачу или другому веб-серверу не указано, что он должен запускать php для обработки графики =)

2 Talisman
Цитата:
вообщем поле для экспериментов.
нет слова "вообщем". Есть слово "вообще" и "в общем" =)) Кстати, сам долго путал =))
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Аватары дешего Toys2004 О Работе 7 15.08.2009 14:15
[Art] Аватары от Antichat Егорыч+++ Болталка 618 25.04.2009 19:12
А где же подписи и аватары??? + php :) хехе)) (-=util=-) С/С++, C#, Delphi, .NET, Asm 9 13.03.2005 07:04



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


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




ANTICHAT.XYZ