获取二进制数据流
$data = file_get_contents('php://input');
指定文件保存路径
$dirName = ROOT_PATH . 'public' . DS . 'upload/images/' . date('Ymd');
创建文件夹
! is_dir($dirName) && mkdir($dirName,0777,1);
获取上传图片后缀
$headers = $this->request->header('content-type');
$ext = $headers ? strtolower(explode('/', $headers)[1]) : 'jpeg';
文件名
$fileName = mt_rand().time().mt_rand() . '.' . $ext;
要保存的文件路径
$filepath = $dirName . '/' . $fileName;
写入数据流并保存文件
if (@$fp = fopen($filepath, 'w+' )) {
fwrite ($fp, $data);
fclose ($fp);
$imageSize = filesize($filepath);
$path = '/public'.DS.'upload/images/' . date('Ymd') . '/' . $fileName;
}