Попробую
Файлы(ссылки на них) хранятся в таблице phorum_files
Код: Выделить всё
-- Структура таблицы `phorum_files`
--
CREATE TABLE IF NOT EXISTS `phorum_files` (
`file_id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL DEFAULT '0',
`filename` varchar(255) NOT NULL DEFAULT '',
`filesize` int(11) NOT NULL DEFAULT '0',
`file_data` mediumtext NOT NULL,
`add_datetime` int(10) unsigned NOT NULL DEFAULT '0',
`message_id` int(10) unsigned NOT NULL DEFAULT '0',
`link` varchar(10) NOT NULL DEFAULT '',
PRIMARY KEY (`file_id`),
KEY `add_datetime` (`add_datetime`),
KEY `message_id_link` (`message_id`,`link`),
KEY `user_id_link` (`user_id`,`link`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=32764 ;
--
-- Дамп данных таблицы `phorum_files`
--
INSERT INTO `phorum_files` (`file_id`, `user_id`, `filename`, `filesize`, `file_data`, `add_datetime`, `message_id`, `link`) VALUES
(60, 1, '1-001.jpg', 19970, '', 1195881239, 208, 'message'),
(61, 1, '1-002.jpg', 62327, '', 1195881246, 208, 'message');
По умолчанию в pforum файлы хранятся в базе mysql(file_data) и при объеме файлов за 1гиг движок просто спит
Поэтому использовал этот мод
http://www.phorum.org/phorum5/read.php?62,124486,page=1
Он пишет файлы на диск, в структуру папок, без расширения, и без миниатюры (она генерится специальным модом. при запросе страницы)
имя файла = file_id
fotos/2007/1124/05/60
fotos/2007/1124/05/61
Путь к файлу берется из временного штампа как я понимаю - add_datetime
Код: Выделить всё
The new storage path looks like:
/path/to/store/YYYY/MMDD/HH/<file_id>
Возникает вопрос как расшифровать 1195881239 (add_datetime) в 2007/1124/05 это из примера выше.
А это таблица с сообщениями, ссылка на файлы в тексте выглядит как
[attachment 60 1-001.jpg][attachment 61 1-002.jpg] В таком же виде они и в phpbb после конвертации.
Код: Выделить всё
--
-- Структура таблицы `phorum_messages`
--
CREATE TABLE IF NOT EXISTS `phorum_messages` (
`message_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`forum_id` int(10) unsigned NOT NULL DEFAULT '0',
`thread` int(10) unsigned NOT NULL DEFAULT '0',
`parent_id` int(10) unsigned NOT NULL DEFAULT '0',
`author` varchar(255) NOT NULL DEFAULT '',
`subject` varchar(255) NOT NULL DEFAULT '',
`body` text NOT NULL,
`email` varchar(100) NOT NULL DEFAULT '',
`ip` varchar(255) NOT NULL DEFAULT '',
`status` tinyint(4) NOT NULL DEFAULT '2',
`msgid` varchar(100) NOT NULL DEFAULT '',
`modifystamp` int(10) unsigned NOT NULL DEFAULT '0',
`user_id` int(10) unsigned NOT NULL DEFAULT '0',
`thread_count` int(10) unsigned NOT NULL DEFAULT '0',
`moderator_post` tinyint(3) unsigned NOT NULL DEFAULT '0',
`sort` tinyint(4) NOT NULL DEFAULT '2',
`datestamp` int(10) unsigned NOT NULL DEFAULT '0',
`meta` mediumtext,
`viewcount` int(10) unsigned NOT NULL DEFAULT '0',
`closed` tinyint(4) NOT NULL DEFAULT '0',
`recent_message_id` int(10) unsigned NOT NULL DEFAULT '0',
`recent_user_id` int(10) unsigned NOT NULL DEFAULT '0',
`recent_author` varchar(255) NOT NULL DEFAULT '',
`moved` tinyint(1) NOT NULL DEFAULT '0',
`threadviewcount` int(10) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`message_id`),
KEY `thread_message` (`thread`,`message_id`),
KEY `thread_forum` (`thread`,`forum_id`),
KEY `special_threads` (`sort`,`forum_id`),
KEY `status_forum` (`status`,`forum_id`),
KEY `list_page_float` (`forum_id`,`parent_id`,`modifystamp`),
KEY `list_page_flat` (`forum_id`,`parent_id`,`thread`),
KEY `forum_max_message` (`forum_id`,`message_id`,`status`,`parent_id`),
KEY `last_post_time` (`forum_id`,`status`,`modifystamp`),
KEY `next_prev_thread` (`forum_id`,`status`,`thread`),
KEY `dup_check` (`forum_id`,`author`(50),`subject`,`datestamp`),
KEY `recent_user_id` (`recent_user_id`),
KEY `new_count` (`forum_id`,`status`,`moved`,`message_id`),
KEY `new_threads` (`forum_id`,`status`,`parent_id`,`moved`,`message_id`),
KEY `updated_threads` (`status`,`parent_id`,`modifystamp`),
KEY `user_messages` (`user_id`,`message_id`),
KEY `recent_threads` (`status`,`parent_id`,`message_id`,`forum_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=159738 ;
--
-- Дамп данных таблицы `phorum_messages`
--
INSERT INTO `phorum_messages` (`message_id`, `forum_id`, `thread`, `parent_id`, `author`, `subject`, `body`, `email`, `ip`, `status`, `msgid`, `modifystamp`, `user_id`, `thread_count`, `moderator_post`, `sort`, `datestamp`, `meta`, `viewcount`, `closed`, `recent_message_id`, `recent_user_id`, `recent_author`, `moved`, `threadviewcount`) VALUES
(208, 17, 208, 0, 'Eugen', 'текст сообщения [attachment 60 1-001.jpg][attachment 61 1-002.jpg]', '', 'b-internet.ххххх.snt.ru', 2, '6e20e4c00fdfaaea23c30e78c51d0842.', 1302953798, 1, 37, 1, 2, 1195881379, 'a:8:{s:11:"attachments";a:5:{i:0;a:3:{s:7:"file_id";i:60;s:4:"name";s:9:"1-001.jpg";s:4:"size";i:19970;}i:1;a:3:{s:7:"file_id";i:61;s:4:"name";s:9:"1-002.jpg";s:4:"size";i:62327;}i:2;a:3:{s:7:"file_id";i:62;s:4:"name";s:9:"1-003.jpg";s:4:"size";i:36469;}i:3;a:3:{s:7:"file_id";i:63;s:4:"name";s:9:"1-004.jpg";s:4:"size";i:20237;}i:4;a:3:{s:7:"file_id";i:64;s:4:"name";s:9:"1-005.jpg";s:4:"size";i:27560;}}s:11:"message_ids";a:37:{i:0;i:208;i:1;i:209;i:2;i:210;i:3;i:211;i:4;i:212;i:5;i:612;i:6;i:6854;i:7;i:6855;i:8;i:12108;i:9;i:12180;i:10;i:12263;i:11;i:12339;i:12;i:19662;i:13;i:19676;i:14;i:19679;i:15;i:19752;i:16;i:19753;i:17;i:19775;i:18;i:19777;i:19;i:20460;i:20;i:25223;i:21;i:25239;i:22;i:25314;i:23;i:25317;i:24;i:25352;i:25;i:25359;i:26;i:25370;i:27;i:25393;i:28;i:25517;i:29;i:25521;i:30;i:25541;i:31;i:27667;i:32;i:32810;i:33;i:32811;i:34;i:65914;i:35;i:66365;i:36;i:66569;}s:21:"message_ids_moderator";a:37:{i:0;i:208;i:1;i:209;i:2;i:210;i:3;i:211;i:4;i:212;i:5;i:612;i:6;i:6854;i:7;i:6855;i:8;i:12108;i:9;i:12180;i:10;i:12263;i:11;i:12339;i:12;i:19662;i:13;i:19676;i:14;i:19679;i:15;i:19752;i:16;i:19753;i:17;i:19775;i:18;i:19777;i:19;i:20460;i:20;i:25223;i:21;i:25239;i:22;i:25314;i:23;i:25317;i:24;i:25352;i:25;i:25359;i:26;i:25370;i:27;i:25393;i:28;i:25517;i:29;i:25521;i:30;i:25541;i:31;i:27667;i:32;i:32810;i:33;i:32811;i:34;i:65914;i:35;i:66365;i:36;i:66569;}s:14:"show_signature";i:0;s:10:"edit_count";i:4;s:9:"edit_date";i:1305205140;s:13:"edit_username";s:5:"Eugen";s:12:"edit_user_id";s:1:"1";}', 2817, 0, 66569, 17, 'pitaks', 0, 10727);
Если не получится перетащить файлы "законным" способом, чтобы они хранились в базе движка, я думаю возможен вариант конвертации ссылок на файлы в сообщениях форума на bb-code IMG с ссылкой на старую папку. Чтобы не заморачиваться с дешифровкой пути к файлу, свалить в кучу. Но 26тысяч файлов в одной папке
Ну а после переезда новые файлы будут обрабатываться уже штатным методом.