【发布时间】:2017-10-04 00:19:24
【问题描述】:
我正在使用 AWS PHP SDK 将文件从我们的服务器移动到 S3,在它们被移动后,我想删除它们以节省我们服务器上的空间。但是当我尝试这样做时,我会收到一个 PHP 警告:Text file busy in /path/to/file。
如果我理解正确,我假设在我尝试删除文件时该文件仍在上传到 S3。我已经为 S3 寻找某种回调,例如 uploadComplete,但找不到任何东西。
这是我的代码示例:
//Upload dir:
$result = false;
try{
$result = $this->aws['s3']->uploadDirectory(
$options['dir'],
$options['bucket'],
$options['key'], array(
'before' => function(\AWS\Command $command){
$command['ACL'] = 'public-read';
})
);
} catch (S3Exception $e) {
error_log('AWS ERR, failed to add object to bucket: '.$e->getMessage());
}
if ($result) {
//remove local copy
array_map('unlink', glob("$options['dir']/*.*"));
rmdir($options['dir']);
}
那么,如何在上传到 S3 后删除目录或文件?
【问题讨论】:
标签: php amazon-web-services amazon-s3 unlink