in_array(exif_imagetype($file['tmp_name']), [IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG, IMAGETYPE_BMP])
图片上传的通用方法(用symPhony的flysystem)
public static function fileUpload(ContainerInterface $container, string $relativePath, array $file, string $pathKey = 'file_upload_path', $isRename = true) { $result = ['code' => 200]; try { if (file_exists($file['tmp_name'])) { $uploadPath = $container->getParameter($pathKey); $uploadPath .= $relativePath; if (!is_dir($uploadPath)) { @mkdir($uploadPath, 0777, true); } $stream = fopen($file['tmp_name'], 'r'); $info = pathinfo($file['name']); if ($isRename) { $newName = uniqid().'.'.$info['extension']; } else { $newName = $info['basename']; } $container->get('bms_adapter')->putStream($uploadPath.$newName, $stream); $result['path'] = $relativePath.$newName; } } catch (IOExceptionInterface $e) { $result = ['code' => 401, 'message' => $e->getMessage()]; } catch (\Exception $e) { $result = ['code' => 402, 'message' => $e->getMessage()]; } return $result; }