我上传了多个图像在数据库中的一列逗号分隔的格式。我首先为每个用户创建一个文件夹,并在该文件夹中存储图像。 car_images
是我的根目录吗 logged_in
将创建用户新目录。
我的图像以以下格式存储:
在这里, emp_code
是唯一的,我将此用作会话和每个用户的文件夹名称。如你所见 car_images
用于存储图像名称的列 ,
. 我使用下面的代码存储在文件夹和数据库中的图像。我不知道如何获取单个用户的所有图像。
$car_images_all="";
for($i=0; $i<count($_FILES['car_images']['name']); $i++)
{
$tmpFilePath = $_FILES['car_images']['tmp_name'][$i];
if ($tmpFilePath != "")
{
if (!file_exists('car_images/'.$emp_code))
{
mkdir('car_images/'.$emp_code, 0777, true);
}
$location = 'car_images/'.$emp_code.'/';
$name = $_FILES['car_images']['name'][$i];
$size = $_FILES['car_images']['size'][$i];
list($txt, $ext) = explode(".", $name);
$file= time().substr(str_replace(" ", "_", $txt), 0);
$info = pathinfo($file);
$filename = $file.".".$ext;
if(move_uploaded_file($_FILES['car_images']['tmp_name'][$i], $location.$filename))
{
$car_images_all.=$filename.",";
}
}
}
4条答案
按热度按时间2ul0zpep1#
c8ib6hqw2#
下面的代码将从表中获取数据并将图像保存在数组中。有关更多详细信息,请检查explode函数。
inkz8wg93#
你可以用
GROUP_CONCAT()
功能您还可以将groupby与emp\u代码、brand\u id或任何其他列一起使用,无论您的业务逻辑是什么。
或
42fyovps4#
首先,按emp\u代码从数据库中选择所有图像(因为您需要特定用户/emp的所有图像)。
现在,您将得到一行或多行。因此,每行使用explode()函数将一个接一个的图像添加到数组中(即,如果行有多个以逗号分隔的图像名称)。根据您的操作选择使用数组。