Всем привет.
Суть в том, что к определенному товару записывается много изображений, они добавляются через БД.
Изображения работают корректно, но к каждому изображению, еще нужно добавить описание. И с этим появилась проблема.
Так как в поле возникает arrey или пустое место.
Разметка:
<div id="addimage1" class="addimage">
<input type="text" name="opisanie[]" />
<input type="hidden" name="MAX_FILE_SIZE" value="2000000"/>
<input type="file" name="galleryimg[]" />
</div>
JS обработчик
var count_input = 1;
$("#add-input").click(function(){
count_input++;
$('<div id="addimage'+count_input+'" class="addimage"><input type="text" name="opisanie[]"/><input type="hidden" name="MAX_FILE_SIZE" value="2000000"/><input type="file" name="galleryimg[]" /><a class="delete-input" rel="'+count_input+'" ></a></div>').fadeIn(300).appendTo('#objects');
});
$('.delete-input').live('click',function(){
var rel = $(this).attr("rel");
$("#addimage"+rel).fadeOut(300,function(){
$("#addimage"+rel).remove();
});
});
Обработчик PHP
<?php
$link = mysqli_connect($db_host, $db_user, $db_password, $db_database)
or die("Ошибка " . mysqli_error($link));
if($_FILES['galleryimg']['name'][0]){
for($i = 0; $i < count($_FILES['galleryimg']['name']); $i++){
$error_gallery = "";
$opisanie = $_POST['opisanie'];
if($_FILES['galleryimg']['name'][$i]){
$galleryimgType = $_FILES['galleryimg']['type'][$i]; // тип файла
$types = array("image/gif", "image/png", "image/jpeg", "image/pjpeg", "image/x-png"); // массив допустимых расширений
// расширение картинки
$imgext = strtolower(preg_replace("#.+\.([a-z]+)$#i", "$1", $_FILES['galleryimg']['name'][$i]));
//папка для загрузки
$uploaddir = '../uploads_images/';
//новое сгенерированное имя файла
$newfilename = $_POST["brands"].'-'.$id.rand(10,30000).'.'.$imgext;
//путь к файлу (папка.файл)
$uploadfile = $uploaddir.$newfilename;
$opisanie = $_POST["opisanie"];
if(!in_array($galleryimgType, $types)){
$error_gallery = "<p id='form-error'>Допустимые расширения - .gif, .jpg, .png</p>";
$_SESSION['answer'] = $error_gallery;
continue;
}
if (empty($error_gallery))
{
if(@move_uploaded_file($_FILES['galleryimg']['tmp_name'][$i], $uploadfile)){
mysqli_query($link,"INSERT INTO uploads_images(products_id,image,opisanie)
VALUES(
'".$id."',
'".$newfilename."',
'".$opisanie."'
)");
}else{
$_SESSION['answer'] = "Ошибка загрузки файла.";
}}
}}
}?>
Описание должно по ID подтягиваться к "своей" картинке вроде как, но в итоге вывод массива просто застревает.
Прочитала уже 100500 мануалов по PHP и похожих тем, но ничего, что решило бы проблему не нашла.....