阿里云OSS提供了有两种上传文件的方式。
<code>//通过multipart上传文件 function upload_by_multi_part($obj){ $bucket = 'phpsdk1349849394'; $object = 'Mining.the.Social.Web-'.time().'.pdf'; //英文 $filepath = "D:\\Book\\Mining.the.Social.Web.pdf"; //英文 $options = array( ALIOSS::OSS_FILE_UPLOAD => $filepath, 'partSize' => 5242880, ); $response = $obj->create_mpu_object($bucket, $object,$options); _format($response); } //通过multipart上传整个目录 function upload_by_dir($obj){ $bucket = 'phpsdk1349849394'; $dir = "D:\\alidata\\www\\logs\\aliyun.com\\oss\\"; $recursive = false; $response = $obj->create_mtu_object_by_dir($bucket,$dir,$recursive); var_dump($response); } </code>
有两种方案:
1.一种是上传一个单个文件,当服务器收到N个文件,通过第一个函数分N次上传。
2.第二种是我把多个文件从临时目录转移到一个临时文件下,通过第二个函数,一次性上传!但是觉得这样很麻烦,既要创建一个新的文件夹,保存上传的文件,上传结束以后还要做删除。
这两种那种好?如果第二种好,能直接在上传的时候就直接给N个临时文件一个独有的临时目录么?
阿里云OSS提供了有两种上传文件的方式。
<code>//通过multipart上传文件 function upload_by_multi_part($obj){ $bucket = 'phpsdk1349849394'; $object = 'Mining.the.Social.Web-'.time().'.pdf'; //英文 $filepath = "D:\\Book\\Mining.the.Social.Web.pdf"; //英文 $options = array( ALIOSS::OSS_FILE_UPLOAD => $filepath, 'partSize' => 5242880, ); $response = $obj->create_mpu_object($bucket, $object,$options); _format($response); } //通过multipart上传整个目录 function upload_by_dir($obj){ $bucket = 'phpsdk1349849394'; $dir = "D:\\alidata\\www\\logs\\aliyun.com\\oss\\"; $recursive = false; $response = $obj->create_mtu_object_by_dir($bucket,$dir,$recursive); var_dump($response); } </code>
有两种方案:
1.一种是上传一个单个文件,当服务器收到N个文件,通过第一个函数分N次上传。
2.第二种是我把多个文件从临时目录转移到一个临时文件下,通过第二个函数,一次性上传!但是觉得这样很麻烦,既要创建一个新的文件夹,保存上传的文件,上传结束以后还要做删除。
这两种那种好?如果第二种好,能直接在上传的时候就直接给N个临时文件一个独有的临时目录么?
还没考虑上传失败的处理。
第一种方案可以上传一个标记一个,第二种方案上传失败了是全部重来还是其他?
另:没看到第二种方案的优势在哪里。如果不是打包上传,第二种方案跟第一种有何区别?
综上,第一种方案比较稳;第二种方案要考虑的太多,也没有带来多少便利,得不偿失。