Мультиприкрепление файлов в форуме

1.18K
.
как сделать в форуме прикрепление несколько файлов? например до 5шт (+/-)
.
kantry
Hey guys! Finally I'm gonna change status!?
Найти форму в файле forum/includes/addfile.php, и добавить в инпут name="fail[]" multiple
Потом загнать все проверки с запросами в цикл(ну это самое простое конечно)
Примерно так
if (isset($_POST['submit'])) {
    /*
    -----------------------------------------------------------------
    Проверка, был ли выгружен файл и с какого браузера
    -----------------------------------------------------------------
    */
    for ($i =0; $i < count($_FILES['fail']['tmp_name']); $i++) {
    $do_file = false; 
    $file = '';
    if ($_FILES['fail']['size'][$i] > 0) {
        // Проверка загрузки с обычного браузера
        $do_file = true;
        $file = functions::rus_lat(mb_strtolower($_FILES['fail']['name'][$i]));
        $fsize = $_FILES['fail']['size'][$i];
    }
//тут остальное бла бла бла
}
    echo '<br/><a href="index.php?id=' . $res['refid'] . '&amp;page=' . $page . '">' . $lng['continue'] . '</a><br/>';
}

И такие же манипуляции с циклом, в forum/index.php проделать
// Если есть прикрепленный файл, выводим его описание
$freq = mysql_query("SELECT * FROM `cms_forum_files` WHERE `post` = '" . $res['id'] . "'");
if (mysql_num_rows($freq) > 0) {
    while ($fres = mysql_fetch_assoc($freq)) {
        $fls = round(@filesize('../files/forum/attach/' . $fres['filename']) / 1024, 2);
        echo '<div class="gray" style="font-size: x-small; background-color: rgba(128, 128, 128, 0.1); padding: 2px 4px; margin-top: 4px">' . $lng_forum['attached_file'] . ':';
        // Предпросмотр изображений
        $att_ext = strtolower(functions::format('./files/forum/attach/' . $fres['filename']));
        $pic_ext = array(
                            'gif',
                            'jpg',
                            'jpeg',
                            'png'
                        );
        if (in_array($att_ext, $pic_ext)) {
            echo '<div><a href="index.php?act=file&amp;id=' . $fres['id'] . '">';
            echo '<img src="thumbinal.php?file=' . (urlencode($fres['filename'])) . '" alt="' . $lng_forum['click_to_view'] . '" /></a></div>';
        } else {
            echo '<br /><a href="index.php?act=file&amp;id=' . $fres['id'] . '">' . $fres['filename'] . '</a>';
        }
        echo ' (' . $fls . ' кб.)<br/>';
        echo $lng_forum['downloads'] . ': ' . $fres['dlcount'] . ' ' . $lng_forum['time'] . '</div>';
        $file_id = $fres['id'];
    }
}
.
kantry, что-то не выходит у меня с addfile, ошибка 500
.
Hey guys! Finally I'm gonna change status!?
Nells, Значит ошибку сделал, не знаю как тебе объяснить, тут все должно быть видно, перейди в форум и погляди изменения))
.
Nells
# kantry (23.06.2019 / 11:19)
Nells, Значит ошибку сделал, не знаю как тебе объяснить, тут все должно быть видно, перейди в форум и погляди изменения))
тут вроде стандарный форум без изменений, прикрепляет только один файл
.
Hey guys! Finally I'm gonna change status!?
Nells, Вроде - это что за оператор сравнения?
Я специально клонировал себе джон, хотя он бы и нахрен мне не надо
Изменил 2 файла, и все таки вроде нет изменений?
Клацни на последний коммит))
Прикрепленные файлы:
.
kantry, ну изменил addfile скопировал код по ссылке твоей. при добавлении файла, крепится только один
.
Hey guys! Finally I'm gonna change status!?
Nells, Значит что то не докопировал опять
Прикрепленные файлы:
.
kantry, ага, посмотрел по видео, ты выбира6 несколько файлов при прикреплении. я нажимал только на один, и один прикрепляло. выбрал несколько, несколько и прикрепило
.
Hey guys! Finally I'm gonna change status!?
Nells, Если хочешь 3-5 форм для файла сделать, то измени в форме
<input type="file" name="fail[]">
<input type="file" name="fail[]">
<input type="file" name="fail[]">
<!-- и так далее -->
Всего: 31