Несколько циклов загрузки только один раз

у меня есть загрузка нескольких файлов, но она зацикливается только один раз и останавливается это означает, что я получаю в базе данных только один файл

я пытался вставить часть db внутри цикла, но его несколько строк в db и я не хочу, чтобы это было так

if (isset($_POST['submit'])){
    $websites = $_POST['websites'];
    foreach($_FILES['documents']['tmp_name'] as $key => $tmp_name){
        $file_name = $key.$_FILES['documents']['name'][$key];
        $file_size =$_FILES['documents']['size'][$key];
        $file_tmp =$_FILES['documents']['tmp_name'][$key];
        $file_type=$_FILES['documents']['type'][$key];
        move_uploaded_file($file_tmp,"uploads/".time().$file_name);
    }
    print_r($file_name);
    $pdo = DB();
    $stmt = $pdo->prepare("INSERT INTO client_form_7 
                            (client_id, documents, websites) 
                     VALUES (:client_id, :documents, :websites)");
    $stmt->bindParam("client_id", $user_id, PDO::PARAM_INT);
    $stmt->bindParam("documents", $file_name, PDO::PARAM_STR);
    $stmt->bindParam("websites", $websites, PDO::PARAM_STR);
    $stmt->execute();
}

я хочу, чтобы все мои файлы хранились в БД в виде массива

РЕДАКТИРОВАТЬ

мое решение

просто создайте пустой массив перед foreach и внутри foreach поместите имя файла в новый массив, а снаружи закодируйте массив, полный имен файлов, с помощью json_encode и вставьте его в базу данных, спасибо, ребята, за работу‏

код

$arr = array();
  foreach($_FILES['documents']['tmp_name'] as $key => $tmp_name){
  $file_name = $key.$_FILES['documents']['name'][$key];
  $file_size =$_FILES['documents']['size'][$key];
  $file_tmp =$_FILES['documents']['tmp_name'][$key];
  $file_type=$_FILES['documents']['type'][$key];
  move_uploaded_file($file_tmp,"uploads/".time().$file_name);
  $arr[] = $file_name;
}
 $files = json_encode($arr);

Итак, вам не нужна одна строка, и вы не хотите несколько строк? Смущенный.

Jonnix 11.02.2019 16:18

Так что вам лучше описать полученную ОДНУ СТРОКУ в таблице, которую вы хотите построить из нескольких загрузок файлов.

RiggsFolly 11.02.2019 16:20
Один маленький момент errrr нет Одна большая точка В настоящее время вы сохраняете файл на диск с именем РАЗНЫЕ, чем то, которое вы сохраняете в базе данных. Как однажды сказал Феджин --- Я думаю, мне лучше подумать об этом снова
RiggsFolly 11.02.2019 16:22

Если вы хотите поместить эти файлы в разные столбцы в одной строке, то это не имеет особого смысла для «неограниченного» количества файлов для начала (потому что количество столбцов просто не является «динамическим».) В этом случае я скорее ожидайте, что цикл for будет выполняться в течение определенного интервала.

04FS 11.02.2019 16:23

@jon Stirling, я хочу, чтобы это было в одной строке в моем решении, но только один раз и только один файл вставляется в базу данных.

Yosef Dadya 11.02.2019 17:57

@YosefDadya Итак, как спросил Риггс, как должна выглядеть эта строка с несколькими файлами?

Jonnix 11.02.2019 17:58

@jonstirling массив, содержащий имена файлов

Yosef Dadya 11.02.2019 18:13

MySQL на самом деле не имеет массивов.

Jonnix 11.02.2019 18:14

@jonstirling Да, я знаю, но есть способ сохранить это, например, множественный выбор и опцию с помощью json_encode()? (я пробовал это с json_encode, и это не работает)

Yosef Dadya 11.02.2019 18:18

Вы можете сохранить их несколькими способами, вы можете сохранить их в формате JSON, вы можете сохранить их в виде списка CSV, вы можете добавить новую таблицу, которая ссылается на client_form_7. Много вариантов. Вот почему мы спрашиваем, чего хочет ты. Если вы хотите, чтобы это был JSON, обновите код в вопросе, чтобы отразить то, что вы пытались использовать с json_encode, с объяснением того, что именно не сработало, и мы посмотрим

Jonnix 11.02.2019 18:22
мое решение
Yosef Dadya 11.02.2019 19:54
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
11
44
0

Другие вопросы по теме