我正在将图像上传到amazons3存储桶,但是对于10张图像需要2分钟执行,但我必须上传10GB图像,我应该收到每个图像更新的更新,确保其工作....
while($file=readdir($handle)):
if(is_file($file)){
$extn = explode('.',$file);
$extn = array_pop($extn);
if (in_array(strtolower($extn),$includedExtn)) {
set_time_limit(0);
if ($s3->putObjectFile($file, $bucketName, baseName($file), S3::ACL_PUBLIC_READ)) {
echo "<br/>";
echo "S3::putObjectFile(): File copied to {$bucketName}/".baseName($file);
} else {
echo "S3::putObjectFile(): Failed to copy file\n";
}
}
} else {
echo "No more files left";
}
endwhile;
答案 0 :(得分:0)
看起来你使用的代码与我使用的代码非常相似。虽然我通过同时运行相同的脚本(并行几次)获得了更快的结果,但我有同样的速度问题,看起来每个放置可能是有限的,但对并发PUT的数量没有限制(或者如果有我尚未找到它)。我通常从命令行运行脚本6次。
您只需要编写代码以确保它不会多次上传同一个文件,或者您将为每个文件收取多笔费用(因此请为您的数据源添加分段内容)。我include
在几个脚本中,每个脚本指定一个应该从数据库访问的唯一扇区。