Как правильно увеличить число для новых папок, в каждой по 2 файла

На самом деле, версии стандарта C ++ до того, как C ++ 11 определили ключевое слово «export», [] , можно просто объявить шаблоны в файле заголовка и реализовать их в другом месте.

К сожалению, ни один из популярных компиляторов не реализовал это ключевое слово. Единственный, о котором я знаю, - это интерфейс, написанный Edison Design Group, который используется компилятором Comeau C ++. Все остальные настаивали на том, что вы пишете шаблоны в заголовочных файлах, нуждающихся в определении кода для надлежащего создания экземпляра (как уже указывали другие).

В результате стандартная комиссия ISO C ++ решила удалить export особенность шаблонов, начинающихся с C ++ 11.

0
задан Ijas Ameenudeen 16 January 2019 в 17:28
поделиться

1 ответ

Проблема с вашим кодом заключается в том, что если число файлов в папке «1» больше 1, оно всегда загружается в папку «2» & amp; folderId никогда не увеличивается, когда вы загружаете больше файлов. Вам необходимо проверить загруженные файлы, чтобы решить folderId. Измените свой код как,

/**
 * File Upload.
 *
 * @param  Request  $request
 * @return
 */
public function store(Request $request)
{
    $uploaded_files = array_filter(Storage::allFiles('public'), function($file){
        // ignore the .gitgnore from the upoloaded list. You can improve this.
        return strpos($file, '.gitignore') === false;
    });

    $uploaded_files_count = count($uploaded_files);
    // intdiv() is supported from php7
    $folderId = intdiv($uploaded_files_count, 2) + 1;

    $path = 'public/' . $folderId;
    $files = Storage::files($path);
    $filesSum = count($files);

    if ($filesSum <= 1) {
        $request->file('file')->storeAs($path, $request->file('file')->getClientOriginalName());
    } else {
        $path = 'public/' . ($folderId + 1) ;
        $request->file('file')->storeAs($path, $request->file('file')->getClientOriginalName());
    }
    return redirect()->back()->with('message', 'File has been uploaded!');
}
0
ответ дан Ijas Ameenudeen 16 January 2019 в 17:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: