0
我使用AWS PHP SDK将文件从我们的服务器移动到S3,移动后我想删除它们以节省我们服务器上的空间。但是当我尝试这样做时,我得到一个PHP警告:Text file busy in /path/to/file
。PHP - 移至AWS S3后删除本地文件 - 文本文件繁忙错误
如果我理解正确,我假设当我试图删除它时文件仍然被上传到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后删除一个目录或文件?
是的,这是我在做什么:'array_map('unlink',glob(“$ options ['dir'] /*.*”));'。这是失败的。 –
@MP_Webby我用递归函数更新了我的答案,该函数删除目录中的目录和文件 –