цикл многократной загрузки только один раз - PullRequest
0 голосов
/ 11 февраля 2019

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

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

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();
}

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

EDIT

мое решение

просто создайте пустой массив перед 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...