Member 13847672 Ответов: 1

Как вставить несколько файлов в одну строку в базе данных


Я создал несколько форм файлов. Но когда я вставляю файлы в базу данных, она вставляет отдельный файл в каждую строку.Поэтому я хочу вставить несколько файлов в одну строку.

Что я уже пробовал:

$media_tittle=$_POST['media_tittle'];	
	
	$extension = array("jpeg","jpg","png");	
	// Count total files
	$countfiles = count($_FILES['media_images']['name']);
	
	for($i=0;$i<$countfiles;$i++){
		$filename = $_FILES['media_images']['name'][$i];
		$tmp_dir = $_FILES['media_images']['tmp_name'][$i];
		$imgSize = $_FILES['media_images']['size'][$i];		
	
		$namefile = pathinfo($filename, PATHINFO_FILENAME);
		$ext = pathinfo($filename, PATHINFO_EXTENSION);		
		
		$counter = 0;
		
		if(empty($media_tittle)){
			$errMSG = true;	
			echo "Please Enter Title.";
		}
		elseif(empty($filename)){
			$errMSG = true;	
			echo "Please Upload Images.";
		}
		elseif(in_array($ext, $extension) == false){
			$errMSG = true;	
			echo "Please Upload .jpeg, .jpg, .png formatted file.";
		}
		elseif($imgSize >= 500000){
			$errMSG = true;	
			echo "File too large. File must be less than 500 Kilobytes.";
		}
		if(!isset($errMSG)){
			list($b_width, $b_height) = getimagesize($tmp_dir);
			if($b_width != 730 || $b_height != 500){
				$errMSG = true;	
				echo "Please check the Witdh and height of Image.";
			}
			if(!isset($errMSG)){				
				while(file_exists("../media_corner/$filename")){
					$filename = $namefile. $counter.'.'.$ext;
					$counter++;
				}
				move_uploaded_file($tmp_dir, "../media_corner/$filename");				
				//$filename = $_FILES['media_images']['name'];
				$result = mysqli_query($conn, "INSERT INTO `media_corner`(`title`, `images`, `status`) VALUES ('$media_tittle','$filename','N')")or die("Could not retrieve image: " . mysqli_error($conn));
			}		
		}		
	}

1 Ответов

Рейтинг:
0

W∴ Balboos, GHB

Две вещи:

1) вы спроектировали свою таблицу для одного файла/строки - так что это то, что она содержит.
2) Вы можете создать несколько наборов одинаковых столбцов значений, по одному для каждого файла, который вы хотите сохранить, и добавить их. А пустые-это пустая трата времени.
3) Вы можете продолжать делать это с помощью таблицы, которая у вас есть - что является правильным способом.

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

Почему бы не добавить столбец, чтобы связать их - случайное число, отметку даты и времени или другой уникальный элемент, чтобы вы могли сгруппировать их при вставке. Я бы также добавил поле identity и использовал значение identity из первой группы, чтобы заполнить ассоциативный столбец для всей группы.