форум vBSupport.ru > vBSupport.ru > Гурушник > Кодер
Register Меню vBsupport Изображения Files Manager О рекламе Today's Posts Search
  • Родная гавань
  • Блок РКН снят
  • Premoderation
  • For English speaking users
  • Каталог Фрилансеров
  • If you want to buy some product or script
  • Администраторам
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей

Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
for English speaking users:
You may be surprised with restriction of access to the attachments of the forum. The reason is the recent change in vbsupport.org strategy:

- users with reputation < 10 belong to "simple_users" users' group
- if your reputation > 10 then administrator (kerk, Luvilla) can decide to move you into an "improved" group, but only manually

Main idea is to increase motivation of community members to share their ideas and willingness to support to each other. You may write an article for the subject where you are good enough, you may answer questions, you may share vbulletin.com/org content with vbsupport.org users, receiving "thanks" equal your reputation points. We should not only consume, we should produce something.

- you may:
* increase your reputation (doing something useful for another members of community) and being improved
* purchase temporary access to the improved category:
10 $ for 3 months. - this group can download attachments, reputation/posts do not matter.
20 $ for 3 months. - this group can download attachments, reputation/posts do not matter + adds eliminated + Inbox capacity increased + files manager increased permissions.

Please contact kerk or Luvilla regarding payments.

Important!:
- if your reputation will become less then 0, you will be moved into "simple_users" users' group automatically.*
*for temporary groups (pre-paid for 3 months) reputation/posts do not matter.
Уважаемые пользователи!

На форуме открыт новый раздел "Каталог фрилансеров"

и отдельный раздел для платных заказов "Куплю/Закажу"

Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже:
Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота.
Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
 
 
 
 
Gostemilov
Специалист
Default Начинаем растить руки из правильного места. Пусть и не свои
9

Не только и не столько про Vbulletin, сколько про использование головного мозга не только для эротических фантазий

Вот какая тенденция, однако. Если взять, к примеру, замечательный модуль Керка Imagehosting, к нему для сравнения добавить Photopost, туда же кинуть Photoplog и задаться вопросом - а что между ними общего, кроме как загружать картинки на сервер?

А вот что. Все, все до единой пересмотренные мной галереи для Vbulletin и не только (за исключением созданных для DLE, но это совсем другая песня) загружают файл с тем именем и с тем расширением, с которыми он был в девичестве, то есть на жестком диске или где-то на сайте при загрузке по URL

Это дает нам удивительные по красоте и оригинальности имена файлов в нашей файловой структуре:

______________._____.______-________._________2014_____.jpg - это не самый яркий пример, не сомневаюсь, что люди опытные видали и покруче.

Особенно доставляют имена файлов типа

567d576f57653576-543543d454g87678g8ds-575s565s765765s75g-9798d797987d-Pupsik.png

Вопрос - а на зачем, собственно, в файловой структуре такое щастье? Я уж не говорю про ситуации, когда имя файла в девичестве составляет так пару сотен символов (не так редко, кстати, встречается)

Собственно, не надо изобретать велосипед, надо немного попинать серое вещество. Расскажу на примере Photoplog

Там есть 3 варианта загрузки, поэтому и выбрал в качестве примера

Итак, загрузка по FTP, скрипт лезет в папку, поочередно читает файлы и сохраняет их с теми самыми бредовыми именами

Я часто использую пакетную FTP загрузку для создания галерей типа музейных и файлы у меня уже с говорящими именами, то есть, к примеру, Абдурахманов М. Л. И. Брежнев у строителей Нурекской ГЭС .jpg , прости, Господи. Ясен пень, что в галерее я получу кучу файлов с именами ______________________________.jpg, которые потом придеться править вручную

А ежели на скорую руку

PHP Code:
//########################################################################
//########################################################################
//##### ИЗМЕНЕНИЯ ПРИ FTP ЗАГРУЗКЕ
//########################################################################
//########################################################################

//Создаем рандомное двузначное число для добавления к имени файла после time для исключения вероятности совпадения имен при быстрой загрузке
//Крайне маловероятно, но все-таки
$myr=rand(10,99);

                        
$photoplog_file_error 0;

//Присвоение кириллического титула, если возможно
$photoplog_file_cyr_title utf2win1251($photoplog_ftpfile);

//Убираем из кириллического имени расширение файла, оно там не нужно
$delext='.'.pathinfo($photoplog_file_cyr_titlePATHINFO_EXTENSION);
$photoplog_file_cyr_title str_replace($delext,'',$photoplog_file_cyr_title);

//Генерируем новое имя файла для размещения в файловой системе и в базе
//Получаем расширение
$newext pathinfo($photoplog_ftpfilePATHINFO_EXTENSION);

$photoplog_file_name 'fotokontinent.ru_'.$photoplog_file_catid.'_'.time().$myr.'.'.$newext;

//########################################################################
//########################################################################
//##### ИЗМЕНЕНИЯ ПРИ FTP ЗАГРУЗКЕ
//########################################################################
//######################################################################## 
то становится ясным, что сначала мы прочитали имя файла, как оно есть (то есть по-рюсски) и запомнили его. Потом присвоили короткое, но, зараза, удобное имя типа ИМЯ_САЙТА_ДАТА.расширение, например, fotokontinent.ru_2_140638851557.jpg (вот та цифра 2 в серединке - номер категории, в которую загружен файл, это я так, себе, для удобства) И при добавлении в базу все остается как есть, вот только вместо невменяемого титула название картинки осталось именно что "Абдурахманов М. Л. И. Брежнев у строителей Нурекской ГЭС" (заплакал)

При загрузке с компа и по URL все намного проще, так как не надо создавать титул, его все равно руками вводить, так что можно вполне ограничиться просто заменой имени файла

PHP Code:
//########################################################################################
//########################################################################################
//######ЗАГРУЗКА ПО URL
//########################################################################################
//########################################################################################

//Создаем рандомное двузначное число для добавления к имени файла после time для исключения вероятности совпадения имен при быстрой загрузке
//Крайне маловероятно, но все-таки
$myr=rand(10,99);

//Генерируем новое имя файла для размещения в файловой системе и в базе
//Получаем расширение
$newext pathinfo($photoplog_file_namePATHINFO_EXTENSION);

$photoplog_file_name 'fotokontinent.ru_'.$photoplog_file_catid.'_'.time().$myr.'.'.$newext;

//########################################################################################
//########################################################################################
//######ЗАГРУЗКА ПО URL
//########################################################################################
//######################################################################################## 
Аналогичным образом у меня перепаханы и Photopost и Photoplog и много чего еще

Это все ради чего написано: перед тем, как что-то отправить на сервер, подумайте, что вы потом с этим делать будете. И как вы будете работать с файлами с именем из 200 подчеркиваний и тире. Или это я один такой которому это небезразлично?
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
Sellrion
Kernel panic
 
Sellrion's Avatar
Default
0

Нууу, я не знаю как там дела в Photopost или у Керка, но в нормально реализованных подобных сервисах после загрузки файлу присваивается новое имя согласно внутренней нотации имен файлов данной ИС. При этом реальное имя файла сохраняется в БД. После этого реальное имя может использоваться где-нибудь в UI, или файл может отдаваться с оригинальным именем. При хранении же в ФС стараются избежать коллизий имен файлов, слишком длинных имен, что может создать сложности как в самой файловой системе так и в программном коде при соблюдении ограничений типов данных и т.д.

Поэтому раз уж на то пошло и эти галереи хранят файлы "как есть", то я бы ими вообще не пользовался. Мало ли на что еще там положили болт.))
 
 
kerk
k0t
 
kerk's Avatar
Default
1

все без исключения мои скрипты, которые сохраняют файлы в файловой системе сервера (будь то картинки или обычные файлы), никогда не сохраняются "аз из", именно по тем причинам, которые описаны в первом сообщении
я вобще не понимаю, для чего кодер сохраняет файл с тем именем, с которым был загружен?
особенно это касатеся кодеров "именитых" галерей, ведь проще же сохранить реальное имя файла в БД и потом показать на странице, чем весь тот гемор в файловой системе с именами файлов, состоящих из НЕ английских символов
да да, именно так не английских, потому как некоторые португальские или испанские буквы (латинские же, не?), так же криво сохраняются в ФС, как и русские
 
 
Gostemilov
Специалист
Default
0

Quote:
Originally Posted by kerk View Post
я вобще не понимаю, для чего кодер сохраняет файл с тем именем, с которым был загружен?
- вот и я не понимаю. Но - работать-то приходится с тем, что есть, а там этого бреда как правило навалом

Плюс далеко не всегда оправдано сохранение исходного имени вообще где бы то ни было, потому как нужды в нем нет. Я понимаю, когда дело касается архивов - тут да, тут возможны интересные варианты, но картинки? Да после 10 кратного пересохранения в DLE там демяток префиксов и PUPSIK в конце - ну на кой оно?
 
 
kerk
k0t
 
kerk's Avatar
Default
0

перенес тему в раздел "кодер"
может здесь будут интузиазисты (кроме ТС), готовы вправлять кривые галереи
 

Tags
photoplog, photopost vbgallery, vbulletin, загрузка изображений


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 12:35 PM.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.