getMeidaIdFileToServer($media_id, $file_dirname); // 记录日志 platformLog([ 'media_id' => $media_id, 'file_dirname' => $file_dirname, 'file_name' => '' ], $result, 'easy_wechat_weixin_get_media_file_to_server_uid_' . $this->mid); // 有错误 if (!$result) { return sendErrorMessage(2001, '获取临时素材失败'); } // 定义mp3文件路径和名称 $mp3_file_path = './temp/' . md5(microtime(true)) . '.mp3'; // 将AMR文件转换为MP3文件 $result = amr_to_mp3($result, $mp3_file_path); // 定义语音object $oss_file_dirname = 'chat/' . date("Ymd"); // 将本地mp3文件上传到OSS $result = $oss_class->uploadFile($result, $oss_file_dirname); return $result['url']; } /** * 将前台图片文件的MediaId(即serverId)文件下载到本地并上传至OSS * @param string $media_id 媒体ID * @param int $is_original_name 是否保留原文件名 0--不保留 1--保留 * @date 2022-08-14 */ public function getImageMediaToOss($media_id, $is_original_name = 0) { $weixin_param = get_weixin_config(); $oss_param = get_ali_oss_config(); $oss_class = new \ali\oss\Oss($oss_param); $media_class = new \tencent\wechat\weixin\Media($weixin_param); // 定义临时文件存储路径 $file_dirname = './temp'; // 将前台图片文件的MediaId(即serverId)文件下载到服务器 $result = $media_class->getMeidaIdFileToServer($media_id, $file_dirname); // 记录日志 platformLog([ 'media_id' => $media_id, 'file_dirname' => $file_dirname, 'file_name' => '' ], $result, 'easy_wechat_weixin_get_media_file_to_server_uid_' . $this->mid); // 定义object $oss_file_dirname = 'chat/' . date("Ymd"); // 是否保留原文件名 $oss_file_name = $is_original_name ? get_file_name($result) : ''; // 将本地mp3文件上传到OSS $result = $oss_class->uploadFile($result, $oss_file_dirname, $oss_file_name); return $result['url']; } }