Php 有没有一种简单的方法来验证文件是否已正确上传到AmazonS3?
我使用来自的tpyo Amazon S3.php类来上传如下文件:Php 有没有一种简单的方法来验证文件是否已正确上传到AmazonS3?,php,amazon-web-services,amazon-s3,Php,Amazon Web Services,Amazon S3,我使用来自的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', $uploa
# 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
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;
}
我注意到,在正在上载的10000个文件中,可能有10个或20个文件由于各种原因无法上载,例如网络问题、服务器问题等。是否有任何方法可以轻松验证文件是否已正确上载
我找到的解决方案是使用如下类获取图像:
# 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
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
,就知道它存在,但是这种方法非常慢,尤其是对于大图像
我在tpyos3.php文件中没有看到内置类来验证文件是否存在。有人有更好的主意吗
谢谢:)我太笨了。有一个名为
getObjectInfo
的选项