[RC] Attachments in subfolders [Вложения в подпапках]
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
Пчелкин
- phpBB 3.3.0
- Сообщения: 11361
- Стаж: 16 лет 8 месяцев
- Благодарил (а): 1832 раза
- Поблагодарили: 1358 раз
Re: [RC] Attachments in subfolders (вложения в подпапках)
Anvar Ты гений!!! Я тебя..... забодаю... Все отлично... Рулька теперь цепляет и из-под папок... афигеть!!!
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
-
Pazh
- Former team member
- Сообщения: 2317
- Стаж: 16 лет 10 месяцев
- Благодарил (а): 42 раза
- Поблагодарили: 506 раз
Re: [RC] Attachments in subfolders (вложения в подпапках)
у мода есть еще 2 бага:
1. он не дружит с post merge (вложения из предыдущего поста становятся потерянными, т.к. скрипт не находит их по стандартному пути)
2. потерянные вложения через админку не удаляются
обе проблемы связаны с тем что в указанных функциях используется штатный путь поиска вложений. Правки по аналогии с теми что привел anvar в предыдущем сообщении
1. он не дружит с post merge (вложения из предыдущего поста становятся потерянными, т.к. скрипт не находит их по стандартному пути)
2. потерянные вложения через админку не удаляются
обе проблемы связаны с тем что в указанных функциях используется штатный путь поиска вложений. Правки по аналогии с теми что привел anvar в предыдущем сообщении
Помощь в ЛС/email только за WM или ЮMoney
-
Пчелкин
- phpBB 3.3.0
- Сообщения: 11361
- Стаж: 16 лет 8 месяцев
- Благодарил (а): 1832 раза
- Поблагодарили: 1358 раз
Re: [RC] Attachments in subfolders (вложения в подпапках)
Pazh Ышо с этим - Конвертация изображений из тега img в вложения
Воще труба... Правки по инструкции делал, делал в имеющемся
Обидно...Всем ставлю - работает, а у себя как всегда - борода... Запутался
С этим на своем запутался окончательно -
Добавлено спустя 1 минуту 38 секунд:
Последний вариант моих правок -
Усе равно не хочет раскидывать старые вложения по папкам...
Добавлено спустя 2 минуты 49 секунд:
И еще...по какой причине новые папки не перенимают права от родительской?
Родитель - ЧМОД 777
Получаются новые папки-подпапки - ЧМОД 666 и переносов в них нема...
Воще труба... Правки по инструкции делал, делал в имеющемся
message_parser.php - ни фига не работает....Обидно...Всем ставлю - работает, а у себя как всегда - борода... Запутался
С этим на своем запутался окончательно -
Код: Выделить всё
// First of all adjust comments if changed
$actual_comment_list = utf8_normalize_nfc(request_var('comment_list', array(''), true));
foreach ($actual_comment_list as $comment_key => $comment)
{
if (!isset($this->attachment_data[$comment_key]))
{
continue;
}
if ($this->attachment_data[$comment_key]['attach_comment'] != $actual_comment_list[$comment_key])
{
$this->attachment_data[$comment_key]['attach_comment'] = $actual_comment_list[$comment_key];
}
}
$cfg = array();
$cfg['max_attachments'] = ($is_message) ? $config['max_attachments_pm'] : $config['max_attachments'];
$forum_id = ($is_message) ? 0 : $forum_id;
$max_length = 5;
if ($submit && in_array($mode, array('post', 'reply', 'quote', 'edit')) && $upload_file)
{
if ($num_attachments < $cfg['max_attachments'] || $auth->acl_get('a_') || $auth->acl_get('m_', $forum_id))
{
if($img_to_attach)
{
foreach($_FILES['img_to_attach'] as $img_url)
{
$filedata = upload_attachment($form_name, $forum_id, false, '', $is_message, false, $img_url);
$error = $filedata['error'];
if ($filedata['post_attach'] && !sizeof($error))
{
$max_length=10;
$real_filename = $filedata['real_filename'];
$filedata['real_filename'] = str_replace('.' . $filedata['extension'],'',$filedata['real_filename']);
if($max_length < strlen($filedata['real_filename']))
{
$filedata['real_filename'] = truncate_string($filedata['real_filename'],$max_length,$max_length, false,'',-$max_length) . '.' . $filedata['extension'];
}
else
{
$filedata['real_filename'] = $real_filename;
}
$sql_ary = array(
'physical_filename' => $filedata['physical_filename'],
'attach_comment' => $this->filename_data['filecomment'],
'real_filename' => $filedata['real_filename'],
'extension' => $filedata['extension'],
'mimetype' => $filedata['mimetype'],
'filesize' => $filedata['filesize'],
'filetime' => $filedata['filetime'],
'thumbnail' => $filedata['thumbnail'],
'is_orphan' => 1,
'in_message' => ($is_message) ? 1 : 0,
'poster_id' => $user->data['user_id'],
);
$db->sql_query('INSERT INTO ' . ATTACHMENTS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
$new_entry = array(
'attach_id' => $db->sql_nextid(),
'is_orphan' => 1,
'mimetype' => $filedata['mimetype'],
'real_filename' => $filedata['real_filename'],
'attach_comment'=> $this->filename_data['filecomment'],
);
$this->attachment_data = array_merge(array(0 => $new_entry), $this->attachment_data);
$this->message = preg_replace('#\[attachment=([0-9]+)\](.*?)\[\/attachment\]#e', "'[attachment='.(\\1 + 1).']\\2[/attachment]'", $this->message);
$this->message = utf8_normalize_nfc(preg_replace('#\[(img|hsimg):' . $this->bbcode_uid . '\].*' . $real_filename . '\[\/(img|hsimg):' . $this->bbcode_uid . '\]#iu', '[attachment=0]' . $filedata['real_filename'] . '[/attachment]', utf8_decode_ncr($this->message)));
$this->filename_data['filecomment'] = '';
// This Variable is set to false here, because Attachments are entered into the
// Database in two modes, one if the id_list is 0 and the second one if post_attach is true
// Since post_attach is automatically switched to true if an Attachment got added to the filesystem,
// but we are assigning an id of 0 here, we have to reset the post_attach variable to false.
//
// This is very relevant, because it could happen that the post got not submitted, but we do not
// know this circumstance here. We could be at the posting page or we could be redirected to the entered
// post. :)
$filedata['post_attach'] = false;
}
}
}
else
{
$filedata = upload_attachment($form_name, $forum_id, false, '', $is_message);
$error = $filedata['error'];
if ($filedata['post_attach'] && !sizeof($error))
{
$sql_ary = array(
'physical_filename' => $filedata['physical_filename'],
'attach_comment' => $this->filename_data['filecomment'],
'real_filename' => $filedata['real_filename'],
'extension' => $filedata['extension'],
'mimetype' => $filedata['mimetype'],
'filesize' => $filedata['filesize'],
'filetime' => $filedata['filetime'],
'thumbnail' => $filedata['thumbnail'],
'is_orphan' => 1,
'in_message' => ($is_message) ? 1 : 0,
'poster_id' => $user->data['user_id'],
);
$db->sql_query('INSERT INTO ' . ATTACHMENTS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
$new_entry = array(
'attach_id' => $db->sql_nextid(),
'is_orphan' => 1,
'mimetype' => $filedata['mimetype'],
'real_filename' => $filedata['real_filename'],
'attach_comment'=> $this->filename_data['filecomment'],
);
$this->attachment_data = array_merge(array(0 => $new_entry), $this->attachment_data);
$this->message = preg_replace('#\[attachment=([0-9]+)\](.*?)\[\/attachment\]#e', "'[attachment='.(\\1 + 1).']\\2[/attachment]'", $this->message);
$this->filename_data['filecomment'] = '';
// This Variable is set to false here, because Attachments are entered into the
// Database in two modes, one if the id_list is 0 and the second one if post_attach is true
// Since post_attach is automatically switched to true if an Attachment got added to the filesystem,
// but we are assigning an id of 0 here, we have to reset the post_attach variable to false.
//
// This is very relevant, because it could happen that the post got not submitted, but we do not
// know this circumstance here. We could be at the posting page or we could be redirected to the entered
// post. :)
$filedata['post_attach'] = false;
}
}
}
else
{
$error[] = sprintf($user->lang['TOO_MANY_ATTACHMENTS'], $cfg['max_attachments']);
}
}
if ($preview || $refresh || sizeof($error))
{
// Perform actions on temporary attachments
if ($delete_file)
{
include_once($phpbb_root_path . 'includes/functions_admin.' . $phpEx);
$index = array_keys(request_var('delete_file', array(0 => 0)));
$index = (!empty($index)) ? $index[0] : false;
if ($index !== false && !empty($this->attachment_data[$index]))
{
// delete selected attachment
if ($this->attachment_data[$index]['is_orphan'])
{
$sql = 'SELECT attach_id, physical_filename, thumbnail
FROM ' . ATTACHMENTS_TABLE . '
WHERE attach_id = ' . (int) $this->attachment_data[$index]['attach_id'] . '
AND is_orphan = 1
AND poster_id = ' . $user->data['user_id'];
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if ($row)
{
phpbb_unlink($row['physical_filename'], 'file');
if ($row['thumbnail'])
{
phpbb_unlink($row['physical_filename'], 'thumbnail');
}
$db->sql_query('DELETE FROM ' . ATTACHMENTS_TABLE . ' WHERE attach_id = ' . (int) $this->attachment_data[$index]['attach_id']);
}
}
else
{
delete_attachments('attach', array(intval($this->attachment_data[$index]['attach_id'])));
}
unset($this->attachment_data[$index]);
$this->message = preg_replace('#\[attachment=([0-9]+)\](.*?)\[\/attachment\]#e', "(\\1 == \$index) ? '' : ((\\1 > \$index) ? '[attachment=' . (\\1 - 1) . ']\\2[/attachment]' : '\\0')", $this->message);
// Reindex Array
$this->attachment_data = array_values($this->attachment_data);
}
}
else if (($add_file || $preview) && $upload_file)
{
if ($num_attachments < $cfg['max_attachments'] || $auth->acl_gets('m_', 'a_', $forum_id))
{
if($img_to_attach)
{
foreach($_FILES['img_to_attach'] as $img_url)
{
$filedata = upload_attachment($form_name, $forum_id, false, '', $is_message, false, $img_url);
$error = array_merge($error, $filedata['error']);
if (!sizeof($error))
{
$max_length=10;
$real_filename = $filedata['real_filename'];
$filedata['real_filename'] = str_replace('.' . $filedata['extension'],'',$filedata['real_filename']);
if($max_length < strlen($filedata['real_filename']))
{
$filedata['real_filename'] = truncate_string($filedata['real_filename'],$max_length,$max_length, false,'',-$max_length) . '.' . $filedata['extension'];
}
else
{
$filedata['real_filename'] = $real_filename;
}
$sql_ary = array(
'physical_filename' => $filedata['physical_filename'],
'attach_comment' => $this->filename_data['filecomment'],
'real_filename' => $filedata['real_filename'],
'extension' => $filedata['extension'],
'mimetype' => $filedata['mimetype'],
'filesize' => $filedata['filesize'],
'filetime' => $filedata['filetime'],
'thumbnail' => $filedata['thumbnail'],
'is_orphan' => 1,
'in_message' => ($is_message) ? 1 : 0,
'poster_id' => $user->data['user_id'],
);
$db->sql_query('INSERT INTO ' . ATTACHMENTS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
$new_entry = array(
'attach_id' => $db->sql_nextid(),
'is_orphan' => 1,
'mimetype' => $filedata['mimetype'],
'real_filename' => $filedata['real_filename'],
'attach_comment'=> $this->filename_data['filecomment'],
);
$this->attachment_data = array_merge(array(0 => $new_entry), $this->attachment_data);
$this->message = preg_replace('#\[attachment=([0-9]+)\](.*?)\[\/attachment\]#e', "'[attachment='.(\\1 + 1).']\\2[/attachment]'", $this->message);
$this->message = utf8_normalize_nfc(preg_replace('#\[(img|hsimg):' . $this->bbcode_uid . '\].*' . $real_filename . '\[\/(img|hsimg):' . $this->bbcode_uid . '\]#iu', '[attachment=0]' . $filedata['real_filename'] . '[/attachment]', utf8_decode_ncr($this->message)));
$this->filename_data['filecomment'] = '';
}
}
}
else
{
$filedata = upload_attachment($form_name, $forum_id, false, '', $is_message);
$error = array_merge($error, $filedata['error']);
if (!sizeof($error))
{
$sql_ary = array(
'physical_filename' => $filedata['physical_filename'],
'attach_comment' => $this->filename_data['filecomment'],
'real_filename' => $filedata['real_filename'],
'extension' => $filedata['extension'],
'mimetype' => $filedata['mimetype'],
'filesize' => $filedata['filesize'],
'filetime' => $filedata['filetime'],
'thumbnail' => $filedata['thumbnail'],
'is_orphan' => 1,
'in_message' => ($is_message) ? 1 : 0,
'poster_id' => $user->data['user_id'],
);
$db->sql_query('INSERT INTO ' . ATTACHMENTS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
$new_entry = array(
'attach_id' => $db->sql_nextid(),
'is_orphan' => 1,
'mimetype' => $filedata['mimetype'],
'real_filename' => $filedata['real_filename'],
'attach_comment'=> $this->filename_data['filecomment'],
);
$this->attachment_data = array_merge(array(0 => $new_entry), $this->attachment_data);
$this->message = preg_replace('#\[attachment=([0-9]+)\](.*?)\[\/attachment\]#e', "'[attachment='.(\\1 + 1).']\\2[/attachment]'", $this->message);
$this->filename_data['filecomment'] = '';
}
}
}
else
{
$error[] = sprintf($user->lang['TOO_MANY_ATTACHMENTS'], $cfg['max_attachments']);
}
}
}
foreach ($error as $error_msg)
{
$this->warn_msg[] = $error_msg;
}
}Последний вариант моих правок -
Код: Выделить всё
// First of all adjust comments if changed
$actual_comment_list = utf8_normalize_nfc(request_var('comment_list', array(''), true));
foreach ($actual_comment_list as $comment_key => $comment)
{
if (!isset($this->attachment_data[$comment_key]))
{
continue;
}
if ($this->attachment_data[$comment_key]['attach_comment'] != $actual_comment_list[$comment_key])
{
$this->attachment_data[$comment_key]['attach_comment'] = $actual_comment_list[$comment_key];
}
}
$cfg = array();
$cfg['max_attachments'] = ($is_message) ? $config['max_attachments_pm'] : $config['max_attachments'];
$forum_id = ($is_message) ? 0 : $forum_id;
$max_length = 5;
if ($submit && in_array($mode, array('post', 'reply', 'quote', 'edit')) && $upload_file)
{
if ($num_attachments < $cfg['max_attachments'] || $auth->acl_get('a_') || $auth->acl_get('m_', $forum_id))
{
if($img_to_attach)
{
foreach($_FILES['img_to_attach'] as $img_url)
{
$filedata = upload_attachment($form_name, $forum_id, false, '', $is_message, false, $img_url);
$error = $filedata['error'];
if ($filedata['post_attach'] && !sizeof($error))
{
$max_length=10;
$real_filename = $filedata['real_filename'];
$filedata['real_filename'] = str_replace('.' . $filedata['extension'],'',$filedata['real_filename']);
if($max_length < strlen($filedata['real_filename']))
{
$filedata['real_filename'] = truncate_string($filedata['real_filename'],$max_length,$max_length, false,'',-$max_length) . '.' . $filedata['extension'];
}
else
{
$filedata['real_filename'] = $real_filename;
}
$sql_ary = array(
'physical_filename' => $filedata['physical_filename'],
'attach_comment' => $this->filename_data['filecomment'],
'real_filename' => $filedata['real_filename'],
'extension' => $filedata['extension'],
'mimetype' => $filedata['mimetype'],
'filesize' => $filedata['filesize'],
'filetime' => $filedata['filetime'],
'thumbnail' => $filedata['thumbnail'],
'is_orphan' => 1,
'in_message' => ($is_message) ? 1 : 0,
'poster_id' => $user->data['user_id'],
);
$db->sql_query('INSERT INTO ' . ATTACHMENTS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
////////////////// Attachments in subfolders /////////////////////
$new_attachment_id = $db->sql_nextid();
$new_entry = array(
'attach_id' => $new_attachment_id,
'is_orphan' => 1,
'mimetype' => $filedata['mimetype'],
'real_filename' => $filedata['real_filename'],
'attach_comment'=> $this->filename_data['filecomment'],
);
////////////////// Attachments in subfolders /////////////////////
$this->attachment_data = array_merge(array(0 => $new_entry), $this->attachment_data);
$this->message = preg_replace('#\[attachment=([0-9]+)\](.*?)\[\/attachment\]#e', "'[attachment='.(\\1 + 1).']\\2[/attachment]'", $this->message);
$this->message = utf8_normalize_nfc(preg_replace('#\[(img|hsimg):' . $this->bbcode_uid . '\].*' . $real_filename . '\[\/(img|hsimg):' . $this->bbcode_uid . '\]#iu', '[attachment=0]' . $filedata['real_filename'] . '[/attachment]', utf8_decode_ncr($this->message)));
$this->filename_data['filecomment'] = '';
////////////////// Attachments in subfolders /////////////////////
$ais_folder_1 = substr(substr($new_attachment_id + 1000000, -6), 0, 2);
$ais_folder_2 = substr(substr($new_attachment_id + 1000000, -4), 0, 2);
$ais_path_to_add = '/' . $ais_folder_1 . '/' . $ais_folder_2;
if (!file_exists($phpbb_root_path . $config['upload_path'] . '/' . $ais_folder_1))
{
mkdir($phpbb_root_path . $config['upload_path'] . '/' . $ais_folder_1);
copy($phpbb_root_path . $config['upload_path'] . '/index.htm', $phpbb_root_path . $config['upload_path'] . '/' . $ais_folder_1 . '/index.htm');
}
if (!file_exists($phpbb_root_path . $config['upload_path'] . $ais_path_to_add))
{
mkdir($phpbb_root_path . $config['upload_path'] . $ais_path_to_add);
copy($phpbb_root_path . $config['upload_path'] . '/index.htm', $phpbb_root_path . $config['upload_path'] . $ais_path_to_add . '/index.htm');
}
if (file_exists($phpbb_root_path . $config['upload_path'] . '/' . $filedata['physical_filename']))
{
rename($phpbb_root_path . $config['upload_path'] . '/' . $filedata['physical_filename'], $phpbb_root_path . $config['upload_path'] . $ais_path_to_add . '/' . $filedata['physical_filename']);
}
if (file_exists($phpbb_root_path . $config['upload_path'] . '/thumb_' . $filedata['physical_filename']))
{
rename($phpbb_root_path . $config['upload_path'] . '/thumb_' . $filedata['physical_filename'], $phpbb_root_path . $config['upload_path'] . $ais_path_to_add . '/thumb_' . $filedata['physical_filename']);
}
////////////////// Attachments in subfolders /////////////////////
// This Variable is set to false here, because Attachments are entered into the
// Database in two modes, one if the id_list is 0 and the second one if post_attach is true
// Since post_attach is automatically switched to true if an Attachment got added to the filesystem,
// but we are assigning an id of 0 here, we have to reset the post_attach variable to false.
//
// This is very relevant, because it could happen that the post got not submitted, but we do not
// know this circumstance here. We could be at the posting page or we could be redirected to the entered
// post. :)
$filedata['post_attach'] = false;
////////////////// Attachments in subfolders /////////////////////
$ais_folder_1 = substr(substr($new_attachment_id + 1000000, -6), 0, 2);
$ais_folder_2 = substr(substr($new_attachment_id + 1000000, -4), 0, 2);
$ais_path_to_add = '/' . $ais_folder_1 . '/' . $ais_folder_2;
if (!file_exists($phpbb_root_path . $config['upload_path'] . '/' . $ais_folder_1))
{
mkdir($phpbb_root_path . $config['upload_path'] . '/' . $ais_folder_1);
copy($phpbb_root_path . $config['upload_path'] . '/index.htm', $phpbb_root_path . $config['upload_path'] . '/' . $ais_folder_1 . '/index.htm');
}
if (!file_exists($phpbb_root_path . $config['upload_path'] . $ais_path_to_add))
{
mkdir($phpbb_root_path . $config['upload_path'] . $ais_path_to_add);
copy($phpbb_root_path . $config['upload_path'] . '/index.htm', $phpbb_root_path . $config['upload_path'] . $ais_path_to_add . '/index.htm');
}
if (file_exists($phpbb_root_path . $config['upload_path'] . '/' . $filedata['physical_filename']))
{
rename($phpbb_root_path . $config['upload_path'] . '/' . $filedata['physical_filename'], $phpbb_root_path . $config['upload_path'] . $ais_path_to_add . '/' . $filedata['physical_filename']);
}
if (file_exists($phpbb_root_path . $config['upload_path'] . '/thumb_' . $filedata['physical_filename']))
{
rename($phpbb_root_path . $config['upload_path'] . '/thumb_' . $filedata['physical_filename'], $phpbb_root_path . $config['upload_path'] . $ais_path_to_add . '/thumb_' . $filedata['physical_filename']);
}
////////////////// Attachments in subfolders /////////////////////
}
}
}
else
{
$filedata = upload_attachment($form_name, $forum_id, false, '', $is_message);
$error = $filedata['error'];
if ($filedata['post_attach'] && !sizeof($error))
{
$sql_ary = array(
'physical_filename' => $filedata['physical_filename'],
'attach_comment' => $this->filename_data['filecomment'],
'real_filename' => $filedata['real_filename'],
'extension' => $filedata['extension'],
'mimetype' => $filedata['mimetype'],
'filesize' => $filedata['filesize'],
'filetime' => $filedata['filetime'],
'thumbnail' => $filedata['thumbnail'],
'is_orphan' => 1,
'in_message' => ($is_message) ? 1 : 0,
'poster_id' => $user->data['user_id'],
);
$db->sql_query('INSERT INTO ' . ATTACHMENTS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
////////////////// Attachments in subfolders /////////////////////
$new_attachment_id = $db->sql_nextid();
$new_entry = array(
'attach_id' => $new_attachment_id,
'is_orphan' => 1,
'mimetype' => $filedata['mimetype'],
'real_filename' => $filedata['real_filename'],
'attach_comment'=> $this->filename_data['filecomment'],
);
////////////////// Attachments in subfolders /////////////////////
$this->attachment_data = array_merge(array(0 => $new_entry), $this->attachment_data);
$this->message = preg_replace('#\[attachment=([0-9]+)\](.*?)\[\/attachment\]#e', "'[attachment='.(\\1 + 1).']\\2[/attachment]'", $this->message);
$this->filename_data['filecomment'] = '';
////////////////// Attachments in subfolders /////////////////////
$ais_folder_1 = substr(substr($new_attachment_id + 1000000, -6), 0, 2);
$ais_folder_2 = substr(substr($new_attachment_id + 1000000, -4), 0, 2);
$ais_path_to_add = '/' . $ais_folder_1 . '/' . $ais_folder_2;
if (!file_exists($phpbb_root_path . $config['upload_path'] . '/' . $ais_folder_1))
{
mkdir($phpbb_root_path . $config['upload_path'] . '/' . $ais_folder_1);
copy($phpbb_root_path . $config['upload_path'] . '/index.htm', $phpbb_root_path . $config['upload_path'] . '/' . $ais_folder_1 . '/index.htm');
}
if (!file_exists($phpbb_root_path . $config['upload_path'] . $ais_path_to_add))
{
mkdir($phpbb_root_path . $config['upload_path'] . $ais_path_to_add);
copy($phpbb_root_path . $config['upload_path'] . '/index.htm', $phpbb_root_path . $config['upload_path'] . $ais_path_to_add . '/index.htm');
}
if (file_exists($phpbb_root_path . $config['upload_path'] . '/' . $filedata['physical_filename']))
{
rename($phpbb_root_path . $config['upload_path'] . '/' . $filedata['physical_filename'], $phpbb_root_path . $config['upload_path'] . $ais_path_to_add . '/' . $filedata['physical_filename']);
}
if (file_exists($phpbb_root_path . $config['upload_path'] . '/thumb_' . $filedata['physical_filename']))
{
rename($phpbb_root_path . $config['upload_path'] . '/thumb_' . $filedata['physical_filename'], $phpbb_root_path . $config['upload_path'] . $ais_path_to_add . '/thumb_' . $filedata['physical_filename']);
}
////////////////// Attachments in subfolders /////////////////////
// This Variable is set to false here, because Attachments are entered into the
// Database in two modes, one if the id_list is 0 and the second one if post_attach is true
// Since post_attach is automatically switched to true if an Attachment got added to the filesystem,
// but we are assigning an id of 0 here, we have to reset the post_attach variable to false.
//
// This is very relevant, because it could happen that the post got not submitted, but we do not
// know this circumstance here. We could be at the posting page or we could be redirected to the entered
// post. :)
$filedata['post_attach'] = false;
}
}
}
else
{
$error[] = sprintf($user->lang['TOO_MANY_ATTACHMENTS'], $cfg['max_attachments']);
}
}
if ($preview || $refresh || sizeof($error))
{
// Perform actions on temporary attachments
if ($delete_file)
{
include_once($phpbb_root_path . 'includes/functions_admin.' . $phpEx);
$index = array_keys(request_var('delete_file', array(0 => 0)));
$index = (!empty($index)) ? $index[0] : false;
if ($index !== false && !empty($this->attachment_data[$index]))
{
// delete selected attachment
if ($this->attachment_data[$index]['is_orphan'])
{
$sql = 'SELECT attach_id, physical_filename, thumbnail
FROM ' . ATTACHMENTS_TABLE . '
WHERE attach_id = ' . (int) $this->attachment_data[$index]['attach_id'] . '
AND is_orphan = 1
AND poster_id = ' . $user->data['user_id'];
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if ($row)
{
phpbb_unlink($row['physical_filename'], 'file');
if ($row['thumbnail'])
{
phpbb_unlink($row['physical_filename'], 'thumbnail');
}
$db->sql_query('DELETE FROM ' . ATTACHMENTS_TABLE . ' WHERE attach_id = ' . (int) $this->attachment_data[$index]['attach_id']);
}
}
else
{
delete_attachments('attach', array(intval($this->attachment_data[$index]['attach_id'])));
}
unset($this->attachment_data[$index]);
$this->message = preg_replace('#\[attachment=([0-9]+)\](.*?)\[\/attachment\]#e', "(\\1 == \$index) ? '' : ((\\1 > \$index) ? '[attachment=' . (\\1 - 1) . ']\\2[/attachment]' : '\\0')", $this->message);
// Reindex Array
$this->attachment_data = array_values($this->attachment_data);
}
}
else if (($add_file || $preview) && $upload_file)
{
if ($num_attachments < $cfg['max_attachments'] || $auth->acl_gets('m_', 'a_', $forum_id))
{
if($img_to_attach)
{
foreach($_FILES['img_to_attach'] as $img_url)
{
$filedata = upload_attachment($form_name, $forum_id, false, '', $is_message, false, $img_url);
$error = array_merge($error, $filedata['error']);
if (!sizeof($error))
{
$max_length=10;
$real_filename = $filedata['real_filename'];
$filedata['real_filename'] = str_replace('.' . $filedata['extension'],'',$filedata['real_filename']);
if($max_length < strlen($filedata['real_filename']))
{
$filedata['real_filename'] = truncate_string($filedata['real_filename'],$max_length,$max_length, false,'',-$max_length) . '.' . $filedata['extension'];
}
else
{
$filedata['real_filename'] = $real_filename;
}
$sql_ary = array(
'physical_filename' => $filedata['physical_filename'],
'attach_comment' => $this->filename_data['filecomment'],
'real_filename' => $filedata['real_filename'],
'extension' => $filedata['extension'],
'mimetype' => $filedata['mimetype'],
'filesize' => $filedata['filesize'],
'filetime' => $filedata['filetime'],
'thumbnail' => $filedata['thumbnail'],
'is_orphan' => 1,
'in_message' => ($is_message) ? 1 : 0,
'poster_id' => $user->data['user_id'],
);
$db->sql_query('INSERT INTO ' . ATTACHMENTS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
////////////////// Attachments in subfolders /////////////////////
$new_attachment_id = $db->sql_nextid();
$new_entry = array(
'attach_id' => $new_attachment_id,
'is_orphan' => 1,
'mimetype' => $filedata['mimetype'],
'real_filename' => $filedata['real_filename'],
'attach_comment'=> $this->filename_data['filecomment'],
);
////////////////// Attachments in subfolders /////////////////////
$this->attachment_data = array_merge(array(0 => $new_entry), $this->attachment_data);
$this->message = preg_replace('#\[attachment=([0-9]+)\](.*?)\[\/attachment\]#e', "'[attachment='.(\\1 + 1).']\\2[/attachment]'", $this->message);
$this->message = utf8_normalize_nfc(preg_replace('#\[(img|hsimg):' . $this->bbcode_uid . '\].*' . $real_filename . '\[\/(img|hsimg):' . $this->bbcode_uid . '\]#iu', '[attachment=0]' . $filedata['real_filename'] . '[/attachment]', utf8_decode_ncr($this->message)));
$this->filename_data['filecomment'] = '';
////////////////// Attachments in subfolders /////////////////////
$ais_folder_1 = substr(substr($new_attachment_id + 1000000, -6), 0, 2);
$ais_folder_2 = substr(substr($new_attachment_id + 1000000, -4), 0, 2);
$ais_path_to_add = '/' . $ais_folder_1 . '/' . $ais_folder_2;
if (!file_exists($phpbb_root_path . $config['upload_path'] . '/' . $ais_folder_1))
{
mkdir($phpbb_root_path . $config['upload_path'] . '/' . $ais_folder_1);
copy($phpbb_root_path . $config['upload_path'] . '/index.htm', $phpbb_root_path . $config['upload_path'] . '/' . $ais_folder_1 . '/index.htm');
}
if (!file_exists($phpbb_root_path . $config['upload_path'] . $ais_path_to_add))
{
mkdir($phpbb_root_path . $config['upload_path'] . $ais_path_to_add);
copy($phpbb_root_path . $config['upload_path'] . '/index.htm', $phpbb_root_path . $config['upload_path'] . $ais_path_to_add . '/index.htm');
}
if (file_exists($phpbb_root_path . $config['upload_path'] . '/' . $filedata['physical_filename']))
{
rename($phpbb_root_path . $config['upload_path'] . '/' . $filedata['physical_filename'], $phpbb_root_path . $config['upload_path'] . $ais_path_to_add . '/' . $filedata['physical_filename']);
}
if (file_exists($phpbb_root_path . $config['upload_path'] . '/thumb_' . $filedata['physical_filename']))
{
rename($phpbb_root_path . $config['upload_path'] . '/thumb_' . $filedata['physical_filename'], $phpbb_root_path . $config['upload_path'] . $ais_path_to_add . '/thumb_' . $filedata['physical_filename']);
}
////////////////// Attachments in subfolders /////////////////////
}
}
}
else
{
$filedata = upload_attachment($form_name, $forum_id, false, '', $is_message);
$error = array_merge($error, $filedata['error']);
if (!sizeof($error))
{
$sql_ary = array(
'physical_filename' => $filedata['physical_filename'],
'attach_comment' => $this->filename_data['filecomment'],
'real_filename' => $filedata['real_filename'],
'extension' => $filedata['extension'],
'mimetype' => $filedata['mimetype'],
'filesize' => $filedata['filesize'],
'filetime' => $filedata['filetime'],
'thumbnail' => $filedata['thumbnail'],
'is_orphan' => 1,
'in_message' => ($is_message) ? 1 : 0,
'poster_id' => $user->data['user_id'],
);
$db->sql_query('INSERT INTO ' . ATTACHMENTS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
////////////////// Attachments in subfolders /////////////////////
$new_attachment_id = $db->sql_nextid();
$new_entry = array(
'attach_id' => $new_attachment_id,
'is_orphan' => 1,
'mimetype' => $filedata['mimetype'],
'real_filename' => $filedata['real_filename'],
'attach_comment'=> $this->filename_data['filecomment'],
);
////////////////// Attachments in subfolders /////////////////////
$this->attachment_data = array_merge(array(0 => $new_entry), $this->attachment_data);
$this->message = preg_replace('#\[attachment=([0-9]+)\](.*?)\[\/attachment\]#e', "'[attachment='.(\\1 + 1).']\\2[/attachment]'", $this->message);
$this->filename_data['filecomment'] = '';
////////////////// Attachments in subfolders /////////////////////
$ais_folder_1 = substr(substr($new_attachment_id + 1000000, -6), 0, 2);
$ais_folder_2 = substr(substr($new_attachment_id + 1000000, -4), 0, 2);
$ais_path_to_add = '/' . $ais_folder_1 . '/' . $ais_folder_2;
if (!file_exists($phpbb_root_path . $config['upload_path'] . '/' . $ais_folder_1))
{
mkdir($phpbb_root_path . $config['upload_path'] . '/' . $ais_folder_1);
copy($phpbb_root_path . $config['upload_path'] . '/index.htm', $phpbb_root_path . $config['upload_path'] . '/' . $ais_folder_1 . '/index.htm');
}
if (!file_exists($phpbb_root_path . $config['upload_path'] . $ais_path_to_add))
{
mkdir($phpbb_root_path . $config['upload_path'] . $ais_path_to_add);
copy($phpbb_root_path . $config['upload_path'] . '/index.htm', $phpbb_root_path . $config['upload_path'] . $ais_path_to_add . '/index.htm');
}
if (file_exists($phpbb_root_path . $config['upload_path'] . '/' . $filedata['physical_filename']))
{
rename($phpbb_root_path . $config['upload_path'] . '/' . $filedata['physical_filename'], $phpbb_root_path . $config['upload_path'] . $ais_path_to_add . '/' . $filedata['physical_filename']);
}
if (file_exists($phpbb_root_path . $config['upload_path'] . '/thumb_' . $filedata['physical_filename']))
{
rename($phpbb_root_path . $config['upload_path'] . '/thumb_' . $filedata['physical_filename'], $phpbb_root_path . $config['upload_path'] . $ais_path_to_add . '/thumb_' . $filedata['physical_filename']);
}
////////////////// Attachments in subfolders /////////////////////
}
}
}
else
{
$error[] = sprintf($user->lang['TOO_MANY_ATTACHMENTS'], $cfg['max_attachments']);
}
}
}
foreach ($error as $error_msg)
{
$this->warn_msg[] = $error_msg;
}
}Добавлено спустя 2 минуты 49 секунд:
И еще...по какой причине новые папки не перенимают права от родительской?
Родитель - ЧМОД 777
Получаются новые папки-подпапки - ЧМОД 666 и переносов в них нема...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
-
Pazh
- Former team member
- Сообщения: 2317
- Стаж: 16 лет 10 месяцев
- Благодарил (а): 42 раза
- Поблагодарили: 506 раз
Re: [RC] Attachments in subfolders (вложения в подпапках)
Пчелкин да и с этим тоже - ноги из одного места ростут: необходима правка кода функции
Короче вот вариант мода с распределением по папкам вида
Добавлено спустя 1 минуту 35 секунд:
phpbb_unlinkКороче вот вариант мода с распределением по папкам вида
files/год/месяц/день/ - удобно для больших форумов с большим кол-вом вложений в день + fix багов с post_merge и потерянных вложений
НЕ ПРИМЕНЯТЬ ЭТИ ПРАВКИ ДЛЯ МОДА с распределением папок в зависимости от attach_id - можно ТОЛЬКО сделать по аналогии если руки растут из правильного местаДобавлено спустя 1 минуту 35 секунд:
потому что в функционале мода нет явного вызоваПчелкин писал(а):И еще...по какой причине новые папки не перенимают права от родительской?
phpbb_chmodУ вас нет необходимых прав для просмотра вложений в этом сообщении.
Помощь в ЛС/email только за WM или ЮMoney
-
Пчелкин
- phpBB 3.3.0
- Сообщения: 11361
- Стаж: 16 лет 8 месяцев
- Благодарил (а): 1832 раза
- Поблагодарили: 1358 раз
Re: [RC] Attachments in subfolders (вложения в подпапках)
Я видел это вариант у чамника... Но и читал про проблемы... Это ж скока папок получится?
Pazh Ответь нормально - сабж откатить и ставить этот?
А старые вложения тож по подпапкам-дняшкам раскидаются?
Я этот вариант у чамника вертел туда сюда с неделю и не решился...
Твой вариант на основе ЕГО или свое сваял?
Мод стоит в отдельную тему - затеряется...
Есть на Денвере копия форума с 125 000 вложений... Вечером пробую это вариант...
Добавлено спустя 2 минуты 6 секунд:
Добавлено спустя 50 секунд:
Pazh Ответь нормально - сабж откатить и ставить этот?
А старые вложения тож по подпапкам-дняшкам раскидаются?
Я этот вариант у чамника вертел туда сюда с неделю и не решился...
Твой вариант на основе ЕГО или свое сваял?
Мод стоит в отдельную тему - затеряется...
Есть на Денвере копия форума с 125 000 вложений... Вечером пробую это вариант...
Добавлено спустя 2 минуты 6 секунд:
Не делает чести автору... Он и понятно - он ведь не phpBB-шник... Он сам об этом несколько раз писал... Булочник он..Pazh писал(а):потому что в функционале мода нет явного вызова
Добавлено спустя 50 секунд:
А рулькам?Pazh писал(а):+ fix багов с post_merge и потерянных вложений
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
-
Pazh
- Former team member
- Сообщения: 2317
- Стаж: 16 лет 10 месяцев
- Благодарил (а): 42 раза
- Поблагодарили: 506 раз
Re: [RC] Attachments in subfolders (вложения в подпапках)
fix для правильной работы удаления вложений для стандартного мода:
в файле
найти
заменить на
КОД НЕ ПРОВЕРЯЛСЯ!!!!
в файле
includes/functions_admin.phpнайти
Код: Выделить всё
// Because of copying topics or modifications a physical filename could be assigned more than once. If so, do not remove the file itself.
$sql = 'SELECT COUNT(attach_id) AS num_entries
FROM ' . ATTACHMENTS_TABLE . "
WHERE physical_filename = '" . $db->sql_escape(utf8_basename($filename)) . "'";
$result = $db->sql_query($sql);
$num_entries = (int) $db->sql_fetchfield('num_entries');
$db->sql_freeresult($result);
// Do not remove file if at least one additional entry with the same name exist.
if (($entry_removed && $num_entries > 0) || (!$entry_removed && $num_entries > 1))
{
return false;
}
$filename = ($mode == 'thumbnail') ? 'thumb_' . utf8_basename($filename) : utf8_basename($filename);
return @unlink($phpbb_root_path . $config['upload_path'] . '/' . $filename);Код: Выделить всё
////////////////// Attachments in subfolders /////////////////////
// Because of copying topics or modifications a physical filename could be assigned more than once. If so, do not remove the file itself.
$sql = 'SELECT attach_id
FROM ' . ATTACHMENTS_TABLE . "
WHERE physical_filename = '" . $db->sql_escape(utf8_basename($filename)) . "'";
$result = $db->sql_query($sql);
$entries = array();
while($row = $db->sql_fetchrow($result))
{
$entries[] = $row['attach_id'];
}
$db->sql_freeresult($result);
// Do not remove file if at least one additional entry with the same name exist.
if (($entry_removed && sizeof($entries) > 0) || (!$entry_removed && sizeof($entries) > 1))
{
unset($entries);
return false;
}
$filename = ($mode == 'thumbnail') ? 'thumb_' . utf8_basename($filename) : utf8_basename($filename);
foreach($entries as $attach_id)
{
$ais_folder_1 = substr(substr($attach_id + 1000000, -6), 0, 2);
$ais_folder_2 = substr(substr($attach_id + 1000000, -4), 0, 2);
$ais_path_to_add = '/' . $ais_folder_1 . '/' . $ais_folder_2;
@unlink($phpbb_root_path . $config['upload_path'] . $ais_path_to_add . '/' . $filename);
}
return true;
////////////////// Attachments in subfolders /////////////////////
Помощь в ЛС/email только за WM или ЮMoney
-
Пчелкин
- phpBB 3.3.0
- Сообщения: 11361
- Стаж: 16 лет 8 месяцев
- Благодарил (а): 1832 раза
- Поблагодарили: 1358 раз
Re: [RC] Attachments in subfolders (вложения в подпапках)
Было б достаточноPazh писал(а):files/год/месяц/день/
files/год/месяц/NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
-
Pazh
- Former team member
- Сообщения: 2317
- Стаж: 16 лет 10 месяцев
- Благодарил (а): 42 раза
- Поблагодарили: 506 раз
Re: [RC] Attachments in subfolders (вложения в подпапках)
если ты уже распределил по стандартному моду, то мой уже не получится ставитьПчелкин писал(а):Ответь нормально - сабж откатить и ставить этот?
да, там есть скрипт для этого настраиваемый - по 200 вложений за цикл (чтобы по таймауту не отвалиться) можно или скопировать в новую папку или перенестиПчелкин писал(а):А старые вложения тож по подпапкам-дняшкам раскидаются?
Это мой вариант на основе стандартного мода, у меня тоже нет вызова phpbb_chmod - надо у владимир1983 узнать как обстояли дела на реальном форуме - вроде о проблеме с правами он мне не писалПчелкин писал(а):Твой вариант на основе ЕГО или свое сваял?
щас добавлю еще и для post_mergeПчелкин писал(а):А рулькам?
Добавлено спустя 2 минуты 36 секунд:
в моем моде это правится в одном месте: в файлеПчелкин писал(а):Было б достаточно files/год/месяц/
includes\functions_attachments_in_subfolders.phpнайти и удалить
Код: Выделить всё
$day = date('d',$attach_row['filetime']);
Код: Выделить всё
$path_to_add = $year . '/' . $month . '/' . $day;Код: Выделить всё
$path_to_add = $year . '/' . $month;Код: Выделить всё
if (!file_exists($target_dir . '/' . $year . '/' . $month . '/' . $day))
{
mkdir($target_dir . '/' . $year . '/' . $month . '/' . $day);
copy($source_dir . '/index.htm', $target_dir . '/' . $year . '/' . $month . '/' . $day . '/index.htm');
copy($source_dir . '/.htaccess', $target_dir . '/' . $year . '/' . $month . '/' . $day . '/.htaccess');
}Также в этом файле можно добавить
phpbb_chmod после mkdir если нужно для новых папок выставить спецправаПомощь в ЛС/email только за WM или ЮMoney
-
Пчелкин
- phpBB 3.3.0
- Сообщения: 11361
- Стаж: 16 лет 8 месяцев
- Благодарил (а): 1832 раза
- Поблагодарили: 1358 раз
Re: [RC] Attachments in subfolders (вложения в подпапках)
Откатиться запросто... OLD папка еще на месте... ИЗО вложения по новому еще не добавлялись...закрыл вложения на время установкиPazh писал(а): то мой уже не получится ставить
Я про твой вариант для этих как - [RC] Attachments in subfolders (вложения в подпапках)Пчелкин писал(а):А рулькам?
Добавлено спустя 1 минуту 2 секунды:
Ага...нашел...Pazh писал(а):все
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
-
Pazh
- Former team member
- Сообщения: 2317
- Стаж: 16 лет 10 месяцев
- Благодарил (а): 42 раза
- Поблагодарили: 506 раз
Re: [RC] Attachments in subfolders (вложения в подпапках)
дружба стандартного мода с Posts_merging
файл
найти
заменить на
файл
includes/posts_merging.phpнайти
Код: Выделить всё
if (!@file_exists($phpbb_root_path . $config['upload_path'] . '/' . basename($orphan_rows[$attach_row['attach_id']]['physical_filename'])))
Код: Выделить всё
////////////////// Attachments in subfolders /////////////////////
$ais_folder_1 = substr(substr($attach_row['attach_id'] + 1000000, -6), 0, 2);
$ais_folder_2 = substr(substr($attach_row['attach_id'] + 1000000, -4), 0, 2);
$ais_path_to_add = '/' . $ais_folder_1 . '/' . $ais_folder_2;
////////////////// Attachments in subfolders /////////////////////
if (!@file_exists($phpbb_root_path . $config['upload_path'] . $ais_path_to_add . '/' . basename($orphan_rows[$attach_row['attach_id']]['physical_filename'])))
Помощь в ЛС/email только за WM или ЮMoney
-
Anvar
- Former team member
- Сообщения: 1964
- Стаж: 16 лет 5 месяцев
- Благодарил (а): 67 раз
- Поблагодарили: 800 раз
Re: [RC] Attachments in subfolders (вложения в подпапках)
С датами сильно за мудрено, не буду откатывать форумы, спасибо за найденные недочёты, и уже готовые быстрые решения.
Не пишите вопросы лично, если можете задать их на форуме!
Спецзаказы не интересуют!
Спецзаказы не интересуют!
-
Anvar
- Former team member
- Сообщения: 1964
- Стаж: 16 лет 5 месяцев
- Благодарил (а): 67 раз
- Поблагодарили: 800 раз
Re: [RC] Attachments in subfolders (вложения в подпапках)
[RC] Attachments in subfolders (вложения в подпапках) Вполне нормально работает.
Последний раз редактировалось Anvar 18.09.2014 7:03, всего редактировалось 1 раз.
-
Pazh
- Former team member
- Сообщения: 2317
- Стаж: 16 лет 10 месяцев
- Благодарил (а): 42 раза
- Поблагодарили: 506 раз
Re: [RC] Attachments in subfolders (вложения в подпапках)
Anvar а теперь сравни внимательно мой код и свой и увидишь что он на 90% по функционалу одинаковый, ТОЛЬКО ты делаешь:
1. дополнительный запрос
2. посмотри выше своих правок и прикинь для чего там в запросе стоит
1. дополнительный запрос
2. посмотри выше своих правок и прикинь для чего там в запросе стоит
count(attach_id) а не просто attach_id, и найдешь почему твой вариант может не корректно сработатьПомощь в ЛС/email только за WM или ЮMoney
-
Anvar
- Former team member
- Сообщения: 1964
- Стаж: 16 лет 5 месяцев
- Благодарил (а): 67 раз
- Поблагодарили: 800 раз
Re: [RC] Attachments in subfolders (вложения в подпапках)
Pazh, Да я уже сравнил, но не совсем внимательно.
Последний раз редактировалось Anvar 18.09.2014 7:00, всего редактировалось 1 раз.
-
Пчелкин
- phpBB 3.3.0
- Сообщения: 11361
- Стаж: 16 лет 8 месяцев
- Благодарил (а): 1832 раза
- Поблагодарили: 1358 раз
Re: [RC] Attachments in subfolders (вложения в подпапках)
Не выходит...
Ничего не понимаю...
Добавлено спустя 21 минуту 8 секунд:
Странно... Владельцем созданных скриптом подпапок и папок становится апач. С чего бы это?
Код: Выделить всё
Страница: move_attachments_in_subfolders.php?current_id=16398
Файл: [ROOT]/move_attachments_in_subfolders.php
Строка: 103 [PHP Warning]
mkdir(): Permission denied
2 меньше минуты назад Pthelovod
-
Язык: ru Страница: move_attachments_in_subfolders.php?current_id=16398
Файл: [ROOT]/move_attachments_in_subfolders.php
Строка: 104 [PHP Warning]
copy(files_new/index.htm): failed to open stream: No such file or directory
3 меньше минуты назад Pthelovod
-
Язык: ru Страница: move_attachments_in_subfolders.php?current_id=16398
Файл: [ROOT]/move_attachments_in_subfolders.php
Строка: 109 [PHP Warning]
mkdir(): No such file or directory
4 меньше минуты назад Pthelovod
-
Язык: ru Страница: move_attachments_in_subfolders.php?current_id=16398
Файл: [ROOT]/move_attachments_in_subfolders.php
Строка: 110 [PHP Warning]
copy(files_new/01/index.htm): failed to open stream: No such file or directory
5 меньше минуты назад Pthelovod
-
Язык: ru Страница: move_attachments_in_subfolders.php?current_id=16398
Файл: [ROOT]/move_attachments_in_subfolders.php
Строка: 115 [PHP Warning]
mkdir(): No such file or directory
6 меньше минуты назад Pthelovod
-
Язык: ru Страница: move_attachments_in_subfolders.php?current_id=16398
Файл: [ROOT]/move_attachments_in_subfolders.php
Строка: 116 [PHP Warning]
copy(files_new/01/63/index.htm): failed to open stream: No such file or directory
7 меньше минуты назад Pthelovod
-
Язык: ru Страница: move_attachments_in_subfolders.php?current_id=16398
Файл: [ROOT]/move_attachments_in_subfolders.php
Строка: 124 [PHP Warning]
copy(files_new/01/63/55_e2a1f6f99182cabfd9c1a87e3f8174f2): failed to open stream: No such file or directory
8 меньше минуты назад Pthelovod
-
Язык: ru Страница: move_attachments_in_subfolders.php?current_id=16398
Файл: [ROOT]/move_attachments_in_subfolders.php
Строка: 136 [PHP Warning]
copy(files_new/01/63/thumb_55_e2a1f6f99182cabfd9c1a87e3f8174f2): failed to open stream: No such file or directoryДобавлено спустя 21 минуту 8 секунд:
Странно... Владельцем созданных скриптом подпапок и папок становится апач. С чего бы это?
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70

