从base64编码的图像中获取文件名

3

移动API发送的图片是以base64类型发送的,我正在尝试从base64_decoded图像文件中获取图像名称。我该如何获取它?

$data = 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABl'
       . 'BMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDr'
       . 'EX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r'
       . '8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg==';
$data = base64_decode($data);

$im = imagecreatefromstring($data);

这里是我的函数,它尝试使用Laravel获取图片名称。

   public function completeProfile($session_id,$username,$fullname,$position,$image){
      $user = JWTAuth::toUser($session_id);
      $userid = $user->id;
      $img = base64_decode($image);
      if(file_put_contents(public_path().'/images/users',$img)){
          $result = $this->repository->completeProfile($userid,$username,$fullname,$position,$image);
      }
      return false;
}

2
你不能先获取图像名称,而是必须使用所需的名称将其保存到所需的文件夹中。 - Pritamkumar
2个回答

4

无法从Base64格式中获取文件名,因为它只包含组成图像的数据,而不是其元数据。


3

我在 slim php 框架中使用了这段代码,可以将图片保存到指定的文件夹中。

$img= base64_decode($val_pic);
$image_name=  "test.jpg"; /* name image*/


if( $file = fopen("folder/".$image_name, 'wb')){
            fwrite($file, $img);
            fclose($file);
}

如果我的答案解决了您的问题,请在@Yan Myo Aung处打勾/标记它。 - Pritamkumar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接