脚本宝典收集整理的这篇文章主要介绍了php – S3 DeleteObject – DeleteMarker始终返回空,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
// delete S3 object $result = $s3->deleteObject(array( 'Bucket' => $this->_bucket,'Key' => $object_key,));
并且响应是:
Guzzle\Service\Resource\Model Object ( [structure:PRotected] => [data:protected] => Array ( [DeleteMarker] => [VersionId] => [RequestId] => 2CC3EC60C4294CB5 ) )
如果我那么做:
// check if was deleted $is_deleted = (bool) $result->get('DeleteMarker');
$is_deleted始终为false.如果删除操作实际上成功并且文件已从S3中删除,那么对于DeleteMarker键没有返回任何值是怎么回事?
更新:
如果我在我的键的开头添加一个斜杠,即使文件仍然从S3中删除,我也会得到一个错误的响应.
键“path / to / my / image.jpg”导致DeleteMarker具有空值
键“/path/to/my/image.jpg”导致DeleteMarker为空false
我终于偶然发现了Guzzle创作者的回应:@L_304_23@
基本上,不再有任何“删除”标志. Michael(Guzzle)建议的是:如果你想知道文件是否被删除,请使用 – > deleteObject()然后运行 - > doesObjectExist()来查看删除是否成功.
更改的基本原理是:新方法允许您触发大量删除请求,而无需等待回复等.
物有所值.大卫
以上是脚本宝典为你收集整理的php – S3 DeleteObject – DeleteMarker始终返回空全部内容,希望文章能够帮你解决php – S3 DeleteObject – DeleteMarker始终返回空所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。