Мультизагрузка вложений (Multiple File Upload)
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
hardlock
- phpBB 1.4.0
- Сообщения: 37
- Стаж: 17 лет 7 месяцев
- Откуда: zp.ua
- Благодарил (а): 1 раз
- Поблагодарили: 2 раза
Re: Мультизагрузка вложений (Multiple File Upload)
Конечно выполнил SQL инструкцию.
итак немного скринов.
Добавляем 5 файлов: После нажатия "Добавить файл" вставляем их в текст сообщения: При этом в БД появляются записи:
[фото пропало]
После отправки сообщения записи немного меняются:
[фото пропало]
Пробуем вставить картинки ещё раз (редактируя сообщение) - все номера аттачей поменялись: Пробовал залить картинки несколько раз. Иногда в поле "filetime" один файл (последний) выскакивает с временем на 0,001 больше чем остальные.
итак немного скринов.
Добавляем 5 файлов: После нажатия "Добавить файл" вставляем их в текст сообщения: При этом в БД появляются записи:
[фото пропало]
После отправки сообщения записи немного меняются:
[фото пропало]
Пробуем вставить картинки ещё раз (редактируя сообщение) - все номера аттачей поменялись: Пробовал залить картинки несколько раз. Иногда в поле "filetime" один файл (последний) выскакивает с временем на 0,001 больше чем остальные.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
phpbb 3.3.8 / php 7.4.0 / MySQL(i) 5.5.42 / FreeBSD 11.2
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Мультизагрузка вложений (Multiple File Upload)
Время для всех одинаковое, потому они и перемешиваются. При работающем моде - для каждого следующего файла время должно отличаться на 0,001. Либо не выполнены где-то инструкции, либо с чем-то несовместимость. Вы можете развернуть чистую установку на том же сервере и посмотреть на результат? Либо предоставить мне доступ, чтобы самому сделать это?
Добавлено спустя 3 минуты 51 секунду:
Есть ещё альтернативное решение для этого случая, но мне бы хотелось докопаться, почему именно здесь не работает.
А решение такое:
posting.php
viewtopic.php
search.php
includes/functions_posting.php
includes/acp/acp_attachments.php
includes/mcp/mcp_pm_reports.php
includes/mcp/mcp_post.php
includes/mcp/mcp_queue.php
includes/mcp/mcp_reports.php
includes/mcp/mcp_topic.php
includes/ucp/ucp_pm_compose.php
includes/ucp/ucp_pm_viewmessage.php
Найти в этих файлах:
и заменить на:
Менять надо во всех файлах, а не в каком-то одном.
Добавлено спустя 3 минуты 51 секунду:
Есть ещё альтернативное решение для этого случая, но мне бы хотелось докопаться, почему именно здесь не работает.
А решение такое:
posting.php
viewtopic.php
search.php
includes/functions_posting.php
includes/acp/acp_attachments.php
includes/mcp/mcp_pm_reports.php
includes/mcp/mcp_post.php
includes/mcp/mcp_queue.php
includes/mcp/mcp_reports.php
includes/mcp/mcp_topic.php
includes/ucp/ucp_pm_compose.php
includes/ucp/ucp_pm_viewmessage.php
Найти в этих файлах:
Код: Выделить всё
ORDER by filetimeКод: Выделить всё
ORDER by attach_id-
hardlock
- phpBB 1.4.0
- Сообщения: 37
- Стаж: 17 лет 7 месяцев
- Откуда: zp.ua
- Благодарил (а): 1 раз
- Поблагодарили: 2 раза
Re: Мультизагрузка вложений (Multiple File Upload)
Shredder, спасибо за наставления! Буду искать где недобавляется... Завтра попробую. Если не получится, то буду просить Вас покопаться в моём форуме.
Ещё раз спасибо.
Ещё раз спасибо.
phpbb 3.3.8 / php 7.4.0 / MySQL(i) 5.5.42 / FreeBSD 11.2
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Мультизагрузка вложений (Multiple File Upload)
Так как вложения сортируются на страницах по времени добавления, то в моде присутствует код:
- призванный изменять параметр filetime (время добавления) каждого файла таким образом, чтобы для каждого следующего файла это время отличалось хотя бы на одну тысячную "секунды" (секунды - условно, потому что делается это с помощью умножения уникальных номеров форм загрузки на 0.001). Иначе для всех файлов время было бы одинаково и порядок их расположения на страницах был бы хаотичен.
Однако выяснилось, что на серверах с MySQL 4 (предположительно, потому что больше никаких зацепок нет) этот код не работает: вместо тысячных по какой-то причине идёт округление в сторону сотых. У кого-нибудь есть идеи, почему такое может происходить?
Кстати, на MySQL 4 не работает функция "Включить быстрый ответ во всех форумах", которая появилась в новых версиях движка. Это я сам лично наблюдал на нескольких серверах, и сегодня ещё раз подтвердилось. Везде стоял MySQL 4
Код: Выделить всё
$filedata['filetime'] = time() + str_replace('fileupload', '', $form_name) * 0.001;Однако выяснилось, что на серверах с MySQL 4 (предположительно, потому что больше никаких зацепок нет) этот код не работает: вместо тысячных по какой-то причине идёт округление в сторону сотых. У кого-нибудь есть идеи, почему такое может происходить?
Кстати, на MySQL 4 не работает функция "Включить быстрый ответ во всех форумах", которая появилась в новых версиях движка. Это я сам лично наблюдал на нескольких серверах, и сегодня ещё раз подтвердилось. Везде стоял MySQL 4
-
mEx
- phpBB 1.4.4
- Сообщения: 197
- Стаж: 19 лет 5 месяцев
- Благодарил (а): 4 раза
Re: Мультизагрузка вложений (Multiple File Upload)
У меня такая проблема, загрузил файлы, раскидал их по посту, куда нужно, отправил сообщение, и через некоторые время, файлы раскиданы в хаотичном порядке, а не так как мне нужно. Сделал как вы советовали, поменял в этих файлах сортировку не по времени а по айди, и все стало норм.
Shredder писал(а):
posting.php
viewtopic.php
search.php
includes/functions_posting.php
includes/acp/acp_attachments.php
includes/mcp/mcp_pm_reports.php
includes/mcp/mcp_post.php
includes/mcp/mcp_queue.php
includes/mcp/mcp_reports.php
includes/mcp/mcp_topic.php
includes/ucp/ucp_pm_compose.php
includes/ucp/ucp_pm_viewmessage.php
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Мультизагрузка вложений (Multiple File Upload)
mEx, MySQL какой версии у вас? Значения filetime в БД тоже до сотых округлены?
-
mEx
- phpBB 1.4.4
- Сообщения: 197
- Стаж: 19 лет 5 месяцев
- Благодарил (а): 4 раза
Re: Мультизагрузка вложений (Multiple File Upload)
Shredder
Версия MySQL-клиента: 5.1.39
filetime выглядят так: 1271674407.000
Версия MySQL-клиента: 5.1.39
filetime выглядят так: 1271674407.000
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Мультизагрузка вложений (Multiple File Upload)
Все без исключения? Или есть ещё со значениями, например: 1271674407.010 ?mEx писал(а):filetime выглядят так: 1271674407.000
-
mEx
- phpBB 1.4.4
- Сообщения: 197
- Стаж: 19 лет 5 месяцев
- Благодарил (а): 4 раза
-
hardlock
- phpBB 1.4.0
- Сообщения: 37
- Стаж: 17 лет 7 месяцев
- Откуда: zp.ua
- Благодарил (а): 1 раз
- Поблагодарили: 2 раза
Re: Мультизагрузка вложений (Multiple File Upload)
Мне кажется проблема не в MySQL, а в версии PHP или его настройках. Кстати,Shredder, если надо, то могу опять сделать тестовый форум на новом хостинге....
phpbb 3.3.8 / php 7.4.0 / MySQL(i) 5.5.42 / FreeBSD 11.2
-
hardlock
- phpBB 1.4.0
- Сообщения: 37
- Стаж: 17 лет 7 месяцев
- Откуда: zp.ua
- Благодарил (а): 1 раз
- Поблагодарили: 2 раза
Re: Мультизагрузка вложений (Multiple File Upload)
Попробовал на новом тестовом форуме - всё работает и с 0,001 и с 0,01...
на старом MySQL 4 с чем-то, на новом - 5.1.49
на старом PHP 5.2.1, на новом 5.2.12, настройки одинаковые - специально переносил точь в точь....
на старом MySQL 4 с чем-то, на новом - 5.1.49
на старом PHP 5.2.1, на новом 5.2.12, настройки одинаковые - специально переносил точь в точь....
phpbb 3.3.8 / php 7.4.0 / MySQL(i) 5.5.42 / FreeBSD 11.2
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Мультизагрузка вложений (Multiple File Upload)
Кажется, вот такой фикс решает проблему:
functions_posting.php
Найти:
Заменить на:
mEx, вы можете внести себе эту поправку и ещё раз проверить значения filetime ? Если всё будет нормально, то обновлю мод.
functions_posting.php
Найти:
Код: Выделить всё
$filedata['filetime'] = time() + str_replace('fileupload', '', $form_name) * 0.001;Код: Выделить всё
$filedata['filetime'] = number_format(time() + str_replace('fileupload', '', $form_name) / 1000, 3, '.', '');-
mEx
- phpBB 1.4.4
- Сообщения: 197
- Стаж: 19 лет 5 месяцев
- Благодарил (а): 4 раза
Re: Мультизагрузка вложений (Multiple File Upload)
Кстати, в моде блогов User Blog не работает. При размещение сообщения можно выбрать много файлов, но загрузится все равно только самый первый. Я так думаю нужно в файле blog\includes\functions_posting.php что-то прописать, но там нет строчки, как в стандартном файле. Вот код отвечающий за вложения:
Код: Выделить всё
// Attachments
$attachment_data = $blog_attachment->attachment_data;
$filename_data = $blog_attachment->filename_data;
$form_enctype = (@ini_get('file_uploads') == '0' || strtolower(@ini_get('file_uploads')) == 'off' || @ini_get('file_uploads') == '0' || !$config['allow_attachments'] || !$auth->acl_get('u_attach')) ? '' : ' enctype="multipart/form-data"';
posting_gen_inline_attachments($attachment_data);
if (($auth->acl_get('u_blogattach')) && $config['allow_attachments'] && $form_enctype)
{
$allowed_extensions = $blog_attachment->obtain_blog_attach_extensions();
if (sizeof($allowed_extensions['_allowed_']))
{
$blog_attachment->posting_gen_attachment_entry($attachment_data, $filename_data);
$panels['attach-panel'] = $user->lang['ADD_ATTACHMENT'];
}
}-
mEx
- phpBB 1.4.4
- Сообщения: 197
- Стаж: 19 лет 5 месяцев
- Благодарил (а): 4 раза
Re: Мультизагрузка вложений (Multiple File Upload)
Рассматриваете эту проблему или нет? На форуме я вас наблюдаю 
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Мультизагрузка вложений (Multiple File Upload)
Я User Blog'ом не пользуюсь, и на рассмотрение совместимости со всем на свете сейчас времени нет. Тем более, что и этот до сих пор не сделан стабильным.

