2013-04-26 1 views
0

Я пытаюсь скопировать мои изображения на Amazon 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»). Я не думаю, что вы можете/должны передавать эти двоичные данные Amazon, когда он ожидает «сырое изображение». Если у вас есть php-образ и вы хотите использовать $s3->create_object(), я бы переконвертировал его в некоторый формат двоичного изображения (например, imagejpeg()) и отправил эти данные.

 Смежные вопросы

  • Нет связанных вопросов^_^