PHP调整图像大小并上传到s3无法正常工作

时间:2015-02-09 06:03:07

标签: php image file-upload amazon-web-services amazon-s3

我想在亚马逊s3桶中上传我的图片。我的原始图片上传成功但缩略图未上传。

$name_pic = str_replace(' ', '_', trim($pic['name']));
$final_pic = time() . $name_pic;
$final_pic2 = $name_pic;

if (!defined('awsAccessKey')) define('awsAccessKey', 'AccessKey');
if (!defined('awsSecretKey')) define('awsSecretKey', 'SecretKey');

//instantiate the class
$s3 = new S3(awsAccessKey, awsSecretKey);

if ($s3->putObjectFile($pic['tmp_name'], "bucketname", $final_pic, S3::ACL_PUBLIC_READ)) {


    $new_width = 150;
    $new_height = 150;
    $image_p = imagecreatetruecolor($new_width, $new_height);
    $image = imagecreatefromstring(file_get_contents($fileTempName));
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, imagesx($image), imagesy($image));

    $s3->putObjectFile($pic['tmp_name'], "bucketname", $final_pic2, S3::ACL_PUBLIC_READ);

}

此行上传原始图片

$s3->putObjectFile($pic['tmp_name'], "bucketname", $final_pic, S3::ACL_PUBLIC_READ)

此行应该在调整大小后上传图片。但不幸的是它还会上传原始图片。

$s3->putObjectFile($pic['tmp_name'], "bucketname", $final_pic2, S3::ACL_PUBLIC_READ);

1 个答案:

答案 0 :(得分:0)

我没有看到,至少在你粘贴的代码中没有分配给$ final_pic2的东西。代码令人困惑。 $ pic ['tmp_name']在哪里操纵说有新图像?