亲爱的程序员,在使用代码时,图像被错误地添加到数据库中。此代码将文件上传到服务器没有问题,但添加到数据库时:
- 创建多个空行;
- 在一行中写入图像,在一个以逗号分隔的单元格(图像)中。
如何使图像出现在表格中自己的行中,而不是在一个单元格中的一堆中。

$arr=array();
//ширина и высота в пикселях
$pic_weight = 3000;
$pic_height = 3000;
if ($_FILES)
{
//пролистываем весь массив изображений по одному $_FILES['file']['name'] as $k=>$v
foreach ($_FILES['file']['name'] as $k=>$v)
{
//директория загрузки
$uploaddir = "";
//новое имя изображения
$apend=date('YmdHis').rand(100,1000).'.png';
//путь к новому изображению
$uploadfile = "$uploaddir$apend";
//Проверка расширений загружаемых изображений
if($_FILES['file']['type'][$k] == "image/gif" || $_FILES['file']['type'][$k] == "image/png" ||
$_FILES['file']['type'][$k] == "image/jpg" || $_FILES['file']['type'][$k] == "image/jpeg")
{
//черный список типов файлов
$blacklist = array(".php", ".phtml", ".php3", ".php4");
foreach ($blacklist as $item)
{
if(preg_match("/$item\$/i", $_FILES['file']['name'][$k]))
{
echo "Нельзя загружать скрипты.";
exit;
}
}
//перемещаем файл из временного хранилища
if (move_uploaded_file($_FILES['file']['tmp_name'][$k], $uploadfile))
{
//получаем размеры файла
$size = getimagesize($uploadfile);
//проверяем размеры файла, если они нам подходят, то оставляем файл
if ($size[0] < $pic_weight && $size[1] < $pic_height)
{
$arr[$apend] = "$uploaddir$apend";
echo "<center><br>Файл ($uploadfile) загружен.</center>";
}
//если размеры файла нам не подходят, то удаляем файл unlink($uploadfile);
else
{
echo "<center><br>Размер пикселей превышает допустимые нормы.</center>";
unlink($uploadfile);
}
}
else
echo "<center><br>Файл не загружен, вернитесь и попробуйте еще раз.</center>";
}
else
echo "<center><br>Можно загружать только изображения в форматах jpg, jpeg, gif и png.</center>";
}
}
$image = implode(",", $arr);
$sql1 = "INSERT INTO gallery (image) VALUES (?s)";
$db->query($sql1, $image);
有一个非常简单的规则要记住。为了。加工。大批。总是。需要。循环。
这条规则永远不会让你失望。