Czy funkcja wstrzyma skrypt php, dopóki nie znajdzie obiektu na serwerach s3?waitUntilObjectExists() Metoda Amazon S3 PHP SDK, jak to działa?
Mam go wewnątrz pętli foreach, przesyłając obrazy jeden po drugim. Po znalezieniu obiektu wywołuję metodę, aby usunąć obraz lokalnie, a następnie usunąć folder lokalny, jeśli jest pusty. Czy to właściwa droga do tego? Dzięki
foreach ($fileNames as $fileName)
{
$imgSize = getimagesize($folderPath . $fileName);
$width = (string)$imgSize[0];
$height = (string)$imgSize[1];
//upload the images
$result = $S3->putObject(array(
'ACL' => 'public-read',
'Bucket' => $bucket,
'Key' => $keyPrefix . $fileName,
'SourceFile' => $folderPath . $fileName,
'Metadata' => array(
'w' => $width,
'h' => $height
)
));
$S3->waitUntilObjectExists(array(
'Bucket' => $bucket,
'Key' => $keyPrefix . $fileName));
$this->deleteStoreDirectory($folderPath, $fileName);
}
Ok, dzięki człowieku. Więcej sensu teraz –
Prawidłowo, nie potrzebujesz kelnera, chyba że musisz natychmiast uzyskać dostęp do obiektu. –
W moim przypadku potrzebuję uzyskać dostęp do obiektu zaraz po przeniesieniu go do wiadra S3. Problem w tej sytuacji polega na tym, że w pewnym momencie obiekt będzie znajdował się w wiadrze, gdy zostanie o to poproszony, ale ponieważ nie będzie miał ukończonego transferu, otrzymam niekompletne obrazy przy pierwszym wywołaniu getObject lub żadne wszystko. –