edogs software

edogs software
Рейтинг
775
Регистрация
15.12.2005
Должность
Программирование
neznaika:
А можно кусок подобной записи? В котором содержание Jpeg, например, записано в базу.

Не очень поняли вопрос.

Если Вы про то, как это будет выглядеть "глазами", то можно открыть тот же jpeg в блокноте (даже не fb2:) ) и посмотреть.

Если про то, как записывать в базу, то точно так же как любой текст или данные.

$t=file_get_contents('file.jpg');$t=mysql_real_escape_string($t);

mysql_query("insert into table set blobfield='$t' ");

где blobfield ясен пень должно быть типа blob что бы всякие кодировки не трогали картинку.

Что бы обойти ограничения по размеру пакета при больших файлах, можно использовать

http://php.net/manual/en/mysqli-stmt.send-long-data.php если проставлен этот экстеншен.

edogs добавил 09.01.2011 в 06:52

Jackyk:
Да по умолчанию это стоит. В этом, имхо, 90% ответа.

В общем наверное да:) Или даже наоборот, 90% проблемы, может потому эти форумы такие унылые и не посещаемые, что человек туда приходит, картинок не видит, и разочарованный уходит, вместо того что бы регнуться будучи восхищенным красотой пикч и нафлудить тонну отборного копирайта.

neznaika:
А что значит так любимое всеми "отдаётся скриптом, изображения в базе" 0_о

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

В вобле по умолчанию все "аттачменты" (загруженные изображения, хотя и не только они), отдаются не напрямую по типу как http://forumimg.net/forum/customavatars/avatar1335_17.gif (чисто вебсервером).... А с помощью php скрипта по типу attachment.php, который берет изображение из БД или ФС, и отдает его юзеру. Это лишняя прослойка, которая создаёт изрядную нагрузку.

Кроме того, все эти весьма изрядного размера "аттачменты" по умолчанию вобла кладет в базу, в табличку, само содержание файла (sic!). А не в файловую систему. От чего хостингу совсем плохеет. Потому что таскать эти гигабайты картинок из базы это не айс.

При чем даже если "аттачменты" переложить в ФС из БД (штатными средствами воблы), то от отдачи оных через скрипт (ну кроме аватарок кажется) не избавиться (есть альтернативы конечно, но не штатные).

Поэтому вотЪ.

edogs добавил 09.01.2011 в 05:50

alexseo:
Обычно отключаю загрузку файлов на форумы, есть масса сервисов для этого. Зачем тратить трафик и ресурсы сервера?

Ради пользователей.

Мы таки владели соразмерно большим форумом на вобле. И куча пользователей вставляло картинки через радикалы и прочие фастпики, приученные... уж не знаем кем, видимо владельцами бесплатных форумов где загрузки нет и прочими.

Так вот через год пошли жалобы, что некоторые картинки в старых темах не видны. А почему? А потому что бесплатные фотохостинги не хранят картинки вечно по одним и тем же адресам, или вообще не хранят вечно. А пользователям фотография может быть важна по многим причинам. И претензии они свои "чего это моя фотография с форума пропала" тоже админу форума будут адресовать.

Поэтому более того, мы даже скрипт делали, который собирает картинки с фришных фотохостингов и заливает их к нам. А СЕО-шники наверное должны так же помнить, что многие картинки размещаются по принципу <a href><img></img></a>, что опять же наверное не айс для сайта.

И еще даже один смешной момент. "Доброжелатели" и просто тролли, очень любят в топике разместить какую-нибудь хорошую фотку, разместив у себя на хостинге (или на бесплатном сервисе), а после пары десятков страниц обсуждений подменить ее на какого-нибудь "черного властелина". Если Вы размещаете картинки у себя, у Вас есть шанс хотя бы откатить это безобразие обратно.

alexseo:
Кроме того это небезопасно.

При грамотном подходе безопасно.

Однако http://habrahabr.ru/blogs/DIY/111444/ "Бесплатный интернет worldwide или использование Kindle 3G в качестве модема". Если халява не накроется, то это имеет глубочайший смысл. И даже не в плане экономии, а в плане не загружения мозгов настройками под операторов и прочей ерундой.

p.s.: несмотря на то, что в статье карта покрытия говорит только о сша, на самом деле охват намного шире, по другим статьям фришный инет с киндла работает и в россии вполне бодро. Впрочем сколько это будет длиться - неясно.

humbert,

Лично мы встречали следующее... первые 2 пункта если говорить за воблу.

1) Неопытные админы. У воблы это настройка по умолчанию. Не у всех хватает отключить.

2) Опытные админы. У воблы аттачменты отдаются скриптом, что при соразмерном кол-ве атачей грузит сервер нехило (и это даже если из БД сами картинки выгрузить в ФС).

3) Как ни странно, ценность фоток для Вас может быть не равна ценности фоток для форума. Например, очень унылые, но уникальные фотки, могут быть очень ценны для определенной ЦА (например фотографии какой-нибудь зверофермы). Таким образом это новые регистрации, при чем нужной ЦА, т.к. те кому не приспичило, просто не зарегистрируются.

4) Когда админили форум, несколько раз встречали мысль фотографов выкладывающих фотки о том, что они хотят что бы "мои фотки были доступны только участникам форума, а не всякому быдло из интернета". При всей спорности утверждения, точка зрения имеет место.

5) Хотлинкинг-траффик опять же. Именно хотлинкинговый, обычный много траффа и ресурсов не жрет. А вот схотлинкованная фотка размещенная на каком-нибудь популярном ресурсе (и не дай бог отдающаяся скриптом, да еще не дай бог из БД), вполне может напрячь сервер очень нехило и по нагрузке и тем более по траффику.

Вопреки распространённому мнению, в виндах, как минимум под ntfs, таки есть система управления правами доступа к файлам. Скорее всего у Вас банально нет прав на удаление файла. Поэтому чтение работает и получение размера файла тоже. Попробуйте заодно создание и изменение, если и они не сработают - будет 100% ясно в чем дело. Еще один нюанс в виндах, если файл на момент попытки удаления у Вас открыт, тоже может выдаваться такая же ошибка.

По поводу юникса, в принципе опять же - права доступа могут быть причиной. Но еще open_base_dir может срабатывать в safe_mode. При чем open_base_dir у некоторых хостеров (слава богу редко) работает как-то кривовато, и иногда надо выбирать что использовать - относительный или абсолютный путь, потому что работает только с одним:)

p.s.: не четко по Вашему вопросу, и ответ не полный, но читануть по диагонали смысл имеет http://forum.php.su/topic.php?forum=1&topic=449

Jackyk:
Кстати, вот кроме шуток - убил кучу часов на поиски по миру хоть одного вменяемого девайса с E Ink и хоть сколь-нибудь приличным инетом - авотбуй. Готовился к выпуску Asus Eee Tablet - и не вышел до сих пор, выпуск отложен на неопределенный срок.
А жаль! Вот я бы купил! И книги читать, и в инете лазить. А только для книг 300 баксов выкидывать - реально жаба душит, я не такой уж читатель новинок, а в доме бумажных книг на 100 жизней хватит.

еИнки в меру их чернобелости и тормознутости (как проца так и экрана) никто из производителей даже не пытается сделать полноценными интернет-таблетками, проблема как бы в этом. То есть нужных Вам устройств нет по объективным причинам.

Так что для инета сейчас или ждать чего-нибудь или брать не еИнк устройство (тот же ипад например), без вариантов.

Str256:
Ну то что вы пишите, что комп быстрее работать не будет так как система будет вместо свопа читать данные каждый раз с родного харда, а у меня написано, что будет так как ядро и драйвера будут постоянно в оперативке.

У Вас там 2 пункта.

Во втором... Речь вообще идет о кэше системы, а не о свопе!

В первом... У Вас не написано что система будет работать быстрее от отключения свопа. У Вас написано, что система будет работать быстрее, если принудительно держать ядро и драйвера в оперативке. Написанное не однозначно и может быть верно только для ситуации, память занимаемая ядром и драйверами не отнимает много места. Если у Вас допустим 2Гб памяти и из них 1.5Гб занимают неиспользованные драйвера, то выгрузка этих 1.5Гб в своп ускорит систему. А если у Вас 8Гб и неиспользуемые драйвера занимают 128Мб, то понятно что смысла кидать их в своп нет.

Str256:
edogs, вы уверены, а как же вот это, для ХР

Не использовать файл подкачки для хранения ядра системы
По умолчанию WinXP выгружает ядро и системные драйвера в файл подкачки, если они не используются.
С помощью данной опции можно указать WinXP хранить ядро и системные драйвера всегда в памяти.

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
DWORD DisablePagingExecutive,

1 - не использовать файл подкачки для хранения ядра системы, 0 - использовать (по умолчанию)

Оптимизировать работу системного кэша
Используйте данную опцию, если у вас 512 МБ памяти или больше. Данная опция увеличит производительность Windows XP.
Рекомендуется использовать данную опция, если компьютер используется в качестве сервера или работа ведется в программах, для которых требуется кэш большого размера.

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
DWORD LargeSystemCache,

значение 1 - использовать, 0 - не использовать

Не очень поняли что Вы имеете ввиду, т.к. в написанном не видим противоречий вообще никаких. Уточните что именно Вас смущает

Miha Kuzmin (KMY):
Str256, тут да, но допустим мне 8 оперативки всегда хватает, даже если я с фотожопом работаю (разрешения маленькие). То есть получается, что вещь бесполезная мне какбэ? Или таки есть нюансы?
Я про ремдиск, а не ссд,

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

Грубо говоря, если Вы обнаружили что у Вас на машине не работает педаль тормоза (нет свопа), то Вы конечно можете продолжать ехать (пользуясь ручником допустим), то вряд ли быстрее и комфортнее доедете.

Если длинно, то почитайте трилогию об управлении памяти тут http://habrahabr.ru/blogs/windows7/107607/ (ссылка на 2 часть, лучше читать с первой). Там на высоком идейно-художественном, но в то же время технически правильном уровне объяснены детали, что как и почему.

Miha Kuzmin (KMY):
юни, edogs, не, все равно не догоняю. Где всякая порнуха происходит на ввод/вывод? Вроде как свапфайл винды. Так если достаточно памяти, его проще совсем отключить, не?

Чтобы что-то попало в свап файл, сначала оно должно подгрузиться с винта/ссд. С ссд это происходит существенно быстрее, если речь идет допустим о 100-500 файлах причудливо разбросанных там и сям (что собственно и есть норма для винды, и при загрузке и при старте файлов дальше).

Всего: 12159