@@ -642,7 +642,8 @@ public static function putObject($input, $bucket, $uri, $acl = self::ACL_PRIVATE
642642
643643 // Custom request headers (Content-Type, Content-Disposition, Content-Encoding)
644644 if (is_array ($ requestHeaders ))
645- foreach ($ requestHeaders as $ h => $ v ) $ rest ->setHeader ($ h , $ v );
645+ foreach ($ requestHeaders as $ h => $ v )
646+ strpos ($ h , 'x-amz- ' ) === 0 ? $ rest ->setAmzHeader ($ h , $ v ) : $ rest ->setHeader ($ h , $ v );
646647 elseif (is_string ($ requestHeaders )) // Support for legacy contentType parameter
647648 $ input ['type ' ] = $ requestHeaders ;
648649
@@ -797,7 +798,8 @@ public static function copyObject($srcBucket, $srcUri, $bucket, $uri, $acl = sel
797798 {
798799 $ rest = new S3Request ('PUT ' , $ bucket , $ uri , self ::$ endpoint );
799800 $ rest ->setHeader ('Content-Length ' , 0 );
800- foreach ($ requestHeaders as $ h => $ v ) $ rest ->setHeader ($ h , $ v );
801+ foreach ($ requestHeaders as $ h => $ v )
802+ strpos ($ h , 'x-amz- ' ) === 0 ? $ rest ->setAmzHeader ($ h , $ v ) : $ rest ->setHeader ($ h , $ v );
801803 foreach ($ metaHeaders as $ h => $ v ) $ rest ->setAmzHeader ('x-amz-meta- ' .$ h , $ v );
802804 if ($ storageClass !== self ::STORAGE_CLASS_STANDARD ) // Storage class
803805 $ rest ->setAmzHeader ('x-amz-storage-class ' , $ storageClass );
0 commit comments