Есть обычная форма добавления фотографий на сервер:
<form method="post" multipart="" enctype="multipart/form-data">
<input type="file" name="img[]" multiple>
<input type="submit">
</form>
PHP обработка формы:
$img = $_FILES['img'];
if(!empty($img))
{
$img_desc = reArrayFiles($img);
print_r($img_desc);
foreach($img_desc as $val)
{
$newname = date('YmdHis',time()).mt_rand().'.jpg';
move_uploaded_file($val['tmp_name'],'./filedat/'.$newname);
}
}
function reArrayFiles($file)
{
$file_ary = array();
$file_count = count($file['name']);
$file_key = array_keys($file);
for($i=0;$i<$file_count;$i++)
{
foreach($file_key as $val)
{
$file_ary[$i][$val] = $file[$val][$i];
}
}
return $file_ary;
}
Данный код работает так, как мне нужно. Загружает несколько изображений на сервер. Но мне нужно еще к этому сделать так, чтобы ссылки на эти файлы сохранились в базу данных, чтобы потом их вывести на странице объявления. Покажите, пожалуйста, пример кодом, как можно сохранить загружаемые картинки в Mysql в одну ячейку таким образом:
img1, img2, img3 и т.д.
Чтобы занести все ссылки в одну ячейку, Вам необходимо вот в этой части Вашего кода ввести переменную (например, $links), которая все эти ссылки будет содержать через запятую:
foreach($img_desc as $val)
{
$newname = date('YmdHis',time()).mt_rand().'.jpg';
move_uploaded_file($val['tmp_name'],'./filedat/'.$newname);
$links .= './filedat/'.$newname.', ';
}
Ссылки, понятное дело, можно указать без папки filedat или, наоборот, полные - на Ваше усмотрение. Ну и потом создаёте таблицу в базе, куда данные будут заноситься, подключаетесь к базе и инсертом заносите данные. Как-нибудь так, например:
$connect = mysqli_connect('localhost', 'root', '');
mysqli_select_db($connect, 'mydb');
$query = "INSERT INTO pics (links) VALUES ('$links')";
if($links) {
mysqli_query($connect, $query);
}
Обычно, если вам необходимо привязать к какой либо записи в БД произвольное количество каких либо объектов, будь то ссылки на файлы, список параметров, набор ролей пользователя или еще что-то, то для этих сущностей используют отдельную таблицу с привязкой по ключу к основной.
CREATE TABLE main (
id VARCHAR(20) NOT NULL PRIMARY KEY,
.....,
PRIMARY KEY (id)
)
CREATE TABLE pictures(
id INT,
parent_id VARCHAR(20),
path VARCHAR(500),
INDEX parent (parent_id),
FOREIGN KEY (parent_id)
REFERENCES main(id)
ON DELETE CASCADE
)
Виртуальный выделенный сервер (VDS) становится отличным выбором
Пользователь зашёл на сайт, ввел данные (напримя, телефон и т
Есть задача, которая требует ветвления кода, я использовал машинное состояние switch case и enum
Не могли бы вы мне подсказать как написать код для умножения двух двоичных чисел? Нужно именно их умножить, поэтому через перевод в 10 сс не получится