【问题标题】:How do i get binary data from imagecreatefromjpeg如何从 imagecreatefromjpeg 获取二进制数据
【发布时间】:2013-04-21 00:40:50
【问题描述】:

我正在尝试将我的图像复制到 Amazon S3,如果我可以像这样将图像中的二进制数据传递给它,它将非常有用:

$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;
}

【问题讨论】:

    标签: php image amazon-s3 imagecreatefrompng


    【解决方案1】:

    “二进制数据”的表述是模棱两可的,这里的一切都是二进制的。

    PHP 函数imagecreatefromjpeg() 打开一个文件,读取其(二进制)数据(“jpeg 图像”),并将其转换为 PHP 使用的某种二进制表示(“php 图像”)。我认为您不能/不应该将该二进制数据传递给亚马逊,因为它需要一个“原始图像”。如果您有一个 php 图像并想使用$s3->create_object(),那么我会将其重新转换为某种二进制图像格式(例如imagejpeg())并发送该数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-07
      • 2016-05-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-23
      • 1970-01-01
      • 2010-09-14
      • 2011-12-31
      相关资源
      最近更新 更多