php上传多张图片

时间:2021-04-30 13:05:32

第一种:加后缀

php上传多张图片

代码实现(就是普通的上传图片,只是在外面加个foreach循环)

$allow_file_types = '|GIF|JPG|PNG|BMP|SWF|DOC|XLS|PPT|MID|WAV|ZIP|RAR|PDF|CHM|RM|TXT|CERT|';
foreach ($_FILES AS $code => $file)
{
/* 判断用户是否选择了文件 */
if ((isset($file['error']) && $file['error'] == 0) || (!isset($file['error']) && $file['tmp_name'] != 'none'))
{
/* 检查上传的文件类型是否合法 */
if (!check_file_type($file['tmp_name'], $file['name'], $allow_file_types))
{
echo json_encode(['code' => 60000,'msg' => sprintf('您上传了一个非法的文件类型。该文件名为:%s', $file['name'])]);exit;
}
else
{
//照片
$logo_name = $user_id."_".time()."_".rand(1,1000).".jpg";
$path = './../images/Image/'.date('Ym')."/";
$to_path = ROOT_PATH.$path;
if (!file_exists($to_path)){
mkdir ($to_path);
chmod($to_path,0777);
}
$file_name = $to_path.$logo_name;
/* 判断是否上传成功 */
if (move_upload_file($file['tmp_name'], $file_name)){
$imgs = $imgs.$path.$logo_name.",";
}
else
{
//echo json_encode(['code' => 60001, 'msg' => '上传失败!请重新上传!']);exit;
echo json_encode(['code' => 60001, 'msg' => sprintf('上传文件 %s 失败,请检查 %s 目录是否可写。', $file['name'], $to_path)]);exit;
}
}
}
}
注:只要上传图片就会成功。
第二种:数组形式

php上传多张图片

代码实现

/* 允许上传的文件类型 */
$allow_file_types = '|GIF|JPG|PNG|BMP|SWF|DOC|XLS|PPT|MID|WAV|ZIP|RAR|PDF|CHM|RM|TXT|CERT|';
foreach ($_FILES['imgs']['type'] AS $key => $val)
{
/* 判断用户是否选择了文件 */
if ((isset($_FILES['imgs']['error'][$key]) &&$_FILES['imgs']['error'][$key] == 0) || (!isset($_FILES['imgs']['error'][$key]) && $_FILES['imgs']['error'][$key] != 'none'))
{
/* 检查上传的文件类型是否合法 */
if (!check_file_type($_FILES['imgs']['tmp_name'][$key], $_FILES['imgs']['name'][$key], $allow_file_types))
{
echo json_encode(['code' => 60000,'msg' => sprintf('您上传了一个非法的文件类型。该文件名为:%s', $_FILES['imgs']['name'][$key])]);exit;
}
else
{
//照片
$logo_name = $user_id."_".time()."_".rand(1,1000).".jpg";
$path = './../images/Image/'.date('Ym')."/";
$to_path = ROOT_PATH.$path;
if (!file_exists($to_path)){
mkdir ($to_path);
chmod($to_path,0777);
}
$file_name = $to_path.$logo_name;
/* 判断是否上传成功 */
if (move_upload_file($_FILES['imgs']['tmp_name'][$key], $file_name)){
$imgs = $imgs.$path.$logo_name.",";
}
else
{
//echo json_encode(['code' => 60001, 'msg' => '上传失败!请重新上传!']);exit;
echo json_encode(['code' => 60001, 'msg' => sprintf('上传文件 %s 失败,请检查 %s 目录是否可写。', $file['name'], $to_path)]);exit;
}
}
}
}
注:只接受名称为imgs的文件,并且是数组型。