Картинки загружаются в dropzone как их записать в БД? HTML: <div class="submit-section"> <form action="submit-property.php" class="dropzone" id="my-dropzone"></form> </div> Делаю вот так PHP: <?php if (isset($_FILES)) { $tempFile[] = $_FILES['file']['tmp_name']; $targetPath = dirname( __FILE__ ) . $ds. $storeFolder . $ds; $targetFile= $targetPath.$_FILES['file']['name']; foreach($tempFile as $key => $tmp_name ){ $file_name = $key.$_FILES['files']['name'][$key]; $file_size =$_FILES['files']['size'][$key]; $file_tmp =$_FILES['files']['tmp_name'][$key]; $file_type=$_FILES['files']['type'][$key]; if($file_size > 2097152){ $errors[]='File size must be less than 2 MB'; } $query="INSERT into images (id_room,name_image) VALUES('$id_room','$file_name'); "; $desired_dir="user_data"; if(empty($errors)==true){ if(is_dir($desired_dir)==false){ mkdir("$desired_dir", 0700); } if(is_dir("$desired_dir/".$file_name)==false){ move_uploaded_file($file_tmp,"user_data/".$file_name); }else{ $new_dir="user_data/".$file_name.time(); rename($file_tmp,$new_dir) ; } mysqli_query($con,$query); }else{ print_r($errors); }} } ?>
да никак....в форме надо указывать поле type="file" и на js писать код для обработки дропзоны и отправки в php
@Miracleon Нам не видно что делает JS, какие данные отправляет. Ты можешь это увидеть в отладчике, надо проверить элементарно какие именно значения попадают в переменные $file_name и $id_room. Или какие вообще есть значения в $_POST --- Добавлено --- Короче, дебажь через xdebug или var_dump($var_name); die(); уж как сумеешь.
Файлы добавляются в папку на сервере. Почему foreach их не видит? PHP: <?php $ds = DIRECTORY_SEPARATOR; $storeFolder = 'user_data'; if (!empty($_FILES)) { $tempFile = $_FILES['file']['tmp_name']; $targetPath = dirname( __FILE__ ) . $ds. $storeFolder . $ds; $targetFile = $targetPath. $_FILES['file']['name']; foreach($tempFile as $key => $value) { $tempFile = $_FILES['file']['tmp_name'][$key]; $targetFile = $storeFolder. $_FILES['file']['name'][$key]; $query="INSERT into images (id_room,name_image) VALUES('$id_room','$targetFile') "; $rez=mysqli_query($con,$query); move_uploaded_file($tempFile,$targetFile); var_dump($targetFile); } move_uploaded_file($tempFile,$targetFile); } ?> Код (Javascript): <script> Dropzone.options.myDropzone = { init: function() { thisDropzone = this; $.get('submit-property.php', function(data) { $.each(data, function(key,value){ var mockFile = { name: value.name, size: value.size }; thisDropzone.options.addedfile.call(thisDropzone, mockFile); thisDropzone.options.thumbnail.call(thisDropzone, mockFile, "user_data/"+value.name); }); }); } }; </script>
Потому что где-то ты используешь не тот индекс массива. Инфа 100%. Дебажь! Проверяй что в $_POST и $FILES и в твоих производных переменных. Это ведь нетрудно. --- Добавлено --- Если это полный файл php, то непонятно откуда должна браться $id_room. Она просто, пилят, неинициирована. Другие переменные зависят от входящих переменных запроса, их надо проверить.