php - 有没有一种简单的方法来验证文件是否已正确上传到 Amazon S3?

标签 php amazon-web-services amazon-s3

我使用来自 https://github.com/tpyo/amazon-s3-php-class 的 tpyo Amazon S3.php 类像这样上传文件:

# START AMAZON S3
$s3 = new S3('KEY', 'SECRET');
$uploadfile = 'user-' . $uid . '/' . $new_file;
S3::putObject(
    S3::inputFile('/home/username/www/images/'.$uid.'/'.$file_name, false),
    'bucketname',
    $uploadfile,
    S3::ACL_PUBLIC_READ,
    array(),
    array(),
    S3::STORAGE_CLASS_STANDARD
);
#END AMAZON S3

我注意到在大约 10,000 个正在上传的文件中,由于网络问题、服务器问题等各种原因,可能有 10 个或 20 个文件无法上传。有什么方法可以轻松验证文件是否已上传正确吗?

我找到的解决方案是用这样的类来抓取图像:

function ranger($url){
    $headers = array(
    "Range: bytes=0-983040"
    );

    $curl = curl_init($url);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $data = curl_exec($curl);
    curl_close($curl);
    return $data;
}

然后检查图像的尺寸,如果宽度和高度为>1,则知道它存在,但这种方法非常慢,尤其是对于大图像。

我看不到 tpyo S3.php 文件中没有内置类来验证文件是否存在。有人有更好的主意吗?

谢谢:)

最佳答案

我太傻了。有一个名为 getObjectInfo 的选项。

关于php - 有没有一种简单的方法来验证文件是否已正确上传到 Amazon S3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32535299/

相关文章:

php - 如果 Col=1,提前 1 周获取单一日期?

python-3.x - 在 Python 中将 S3 同步到本地目录

amazon-web-services - 向多个设备发送 SNS 推送通知消息

hadoop - 亚马逊 EC2 和 S3 : How to read and write data

php - Laravel 5.4 在 Markdown Mailable 中错误地混合了 HTML 组件

php - 适用于 Windows 的 OAuth PHP?

javascript - 在 Javascript/PHP 中传递数据并替换

javascript - 捕获 AWS S3 获取对象流错误 Node.js

amazon-web-services - AWS S3 : Setting a bucket policy for multiple users in an account

java - 由 : java. lang.NoClassDefFoundError 引起:com/amazonaws/auth/BasicAWSCredentials