아마존의 AWS SDK PHP 버전을 사용하고 있습니다. 나는 Expires
헤더를 가진 많은 파일을 가지고있다. 해당 헤더를 삭제하고 Cache-control
헤더를 대신 추가하고 싶습니다. update_object 함수를 사용하면 헤더를 추가 할 수는 있지만 제거 할 수는 없습니다.Amazon S3 SDK를 사용하여 메타 데이터를 업데이트하는 방법
answers on this question 복사 할 때 파일의 메타 데이터를 업데이트 할 수 있지만 시도했지만 시도 할 수 없음을 제안합니다. 여기 내가 사용하는 것입니다 :
$response = $s3->copy_object(
array(
'bucket' => $bucket,
'filename' => $file,
),
array(
'bucket' => $bucket,
'filename' => $file2,
),
array(
'acl' => AmazonS3::ACL_PUBLIC,
'headers' => array(
'Content-Type' => 'image/jpeg',
'Cache-Control' => 'public,max-age=30240000',
),
'meta' => array(
'x-fake-header' => 'something awesome is happening',
),
)
);
그러나, 복사 된 객체는 원래 객체 (만료 및 콘텐츠 형식 만 해당)와 동일한 헤더가 있습니다. 위의 모든 방법 (Content-Type, Cache-Control, 메타 등)과 결합하여 동일한 결과를 얻었습니다.
메타 데이터를 어떻게 재설정합니까?
의 업데이트 메타 데이터하는 것이 좋습니다 .. 왜 다른 파일 "변화"모든 헤더를 복사하는 것? 새 파일에 헤더를 설정하지 않는다는 것을 의미합니까? –
@alex 확실하지 않은 경우 죄송합니다. 요청에 새 헤더가 설정되어 있기 때문에 헤더가 변경되어야합니다. headers 매개 변수를 사용하여 동일한 파일 이름 (예 : FileA.jpg -> FileA.jpg)으로 복사하면 헤더가 변경되지만 다른 파일 (예 : FileA.jpg -> FileB.jpg)로 복사하면 제공된 헤더가 설정되지 않았습니다. – DisgruntledGoat