2013-04-26 3 views
0

나는 아마존 S3에 내 이미지를 복사하기 위해 노력하고있어 그것은 좋은 작품에서 이진 데이터를받을 수 있나요 :어떻게 그렇게 같은 이미지에서 그것을 바이너리 데이터를 전달할 수 있다면 내가 imagecreatefromjpeg

$binary = file_get_contents($image_location); 

$response = $s3->create_object(AWS_S3_BUCKET, $image_name, array('body' => $binary, 'contentType' => $info['mime'], 'acl' => AmazonS3::ACL_PUBLIC)); 

어떻게 내가 imagecreatefromjpeg에서 동일한 이진 데이터를 얻을? 더 쉬운 방법이 있습니까?

나는 현재 이미지 리소스 이런 식으로 받고 있어요 :

private function GetImageResource($image, $extension){ 
    switch($extension){ 
     case "jpeg": 
     case "jpg": 
      @ini_set('gd.jpeg_ignore_warning', 1); 
      $resource = imagecreatefromjpeg($image); 
      break; 
     case "gif": 
      $resource = imagecreatefromgif($image); 
      break; 
     case "png": 
      $resource = imagecreatefrompng($image); 
      break; 
    } 
    return $resource; 
} 

답변

1

표현 "이진 데이터 것은"모호 모든 것이 여기 진입니다.

PHP 함수 imagecreatefromjpeg()은 파일을 열고, 이진 데이터 ("jpeg image")를 읽고, PHP가 사용하는 이진 표현 ("php image")으로 변환합니다. 나는 당신이 "raw image"를 기대할 때, 아마존에게 그 바이너리 데이터를 전달할 수 있거나 /해야한다고 생각하지 않는다. PHP 이미지가 있고 $s3->create_object()을 사용하고 싶다면이 이미지를 일부 이진 이미지 형식 (예 : imagejpeg())으로 변환하고 해당 데이터를 보냅니다.