阿里云OSS SDK下载地址http://download.youkuaiyun.com/detail/jf_2012/9385901
<?php
namespace Common\Common;use aapt\AaptParseApk;
//OSS上传文件处理
/*sunjunfeng 2015-07-04
* 上传图片
* 上传APK
* */
class uploadfilenew{
private function _getApkInfo($path){
$ApkParser = new AaptParseApk();
$app_info = $ApkParser->getApkInfo($path);
return $app_info;
}
public function RepostNew(){
import('Org.AliossResponse');
$upfields = array_keys($_FILES);
foreach ($upfields as $fileitem){
if ($_FILES[$fileitem]['error'] == 0){
$filename = $_FILES[$fileitem]['name'];
$fileSuffix = strtolower(pathinfo($filename,PATHINFO_EXTENSION));
//$newname = session_save_path().DIRECTORY_SEPARATOR.md5_file($_FILES[$fileitem]['tmp_name']).'.'.$fileSuffix;
$newname = md5_file($_FILES[$fileitem]['tmp_name']).'.'.$fileSuffix;
rename($_FILES[$fileitem]['tmp_name'], $newname);
$apkOssInfo = array();
if ($fileSuffix == 'apk'){
//解析apk包信息(解析失败为布尔值false,反之存在)
$apkInfo = $this->_getApkInfo($newname);
if ($apkInfo){
//文件上传到OSS阿里云服务器
$apkOss = \AliossResponse::uploadFile($newname);
$apkOssInfo['_info'] = array_key_exists('_info', $apkOss) ? $apkOss['_info'] : NULL;
$apkOssInfo['x-oss-request-url'] = array_key_exists('x-oss-request-url', $apkOss) ? $apkOss['x-oss-request-url'] : NULL;
$apkOssInfo['oss_relative_url'] = array_key_exists('oss_relative_url', $apkOss) ? $apkOss['oss_relative_url'] : NULL;
$apkOssInfo['oss_response_status'] = array_key_exists('oss_response_status', $apkOss) ? $apkOss['oss_response_status'] : 100;
$apkOssInfo['oss_response_message'] = array_key_exists('oss_response_message', $apkOss) ? $apkOss['oss_response_message'] : NULL;
$apkOssInfo['etag'] = array_key_exists('etag', $apkOss) ? $apkOss['etag'] : NULL;
$return = array_merge($apkOssInfo,$apkInfo);
}
}elseif ($fileSuffix == 'jpg' || $fileSuffix == 'gif' || $fileSuffix == 'png' || $fileSuffix == 'jpeg') {
$apkOss = \AliossResponse::uploadFile($newname);
$apkOssInfo['_info'] = array_key_exists('_info', $apkOss) ? $apkOss['_info'] : NULL;
$apkOssInfo['x-oss-request-url'] = array_key_exists('x-oss-request-url', $apkOss) ? $apkOss['x-oss-request-url'] : NULL;
$apkOssInfo['oss_relative_url'] = array_key_exists('oss_relative_url', $apkOss) ? $apkOss['oss_relative_url'] : NULL;
$apkOssInfo['oss_relative_url'] = array_key_exists('oss_relative_url', $apkOss) ? $apkOss['oss_relative_url'] : NULL;
$apkOssInfo['oss_response_image_w'] = array_key_exists('oss_response_image_w', $apkOss) ? $apkOss['oss_response_image_w'] : NULL;
$apkOssInfo['oss_response_image_h'] = array_key_exists('oss_response_image_h', $apkOss) ? $apkOss['oss_response_image_h'] : NULL;
$apkOssInfo['oss_response_status'] = array_key_exists('oss_response_status', $apkOss) ? $apkOss['oss_response_status'] : 100;
$apkOssInfo['oss_response_message'] = array_key_exists('oss_response_message', $apkOss) ? $apkOss['oss_response_message'] : NULL;
$return = $apkOssInfo;
}
}else {
//$_FILES['error] 1、2、3、4没有做判断
$return['oss_response_status'] = 100;
$return['oss_response_message'] = 'cURL error: Could not resolve host:'.C('RES_UPDATE_URL');
return $return;
}
unlink($newname);
}
return $return;
}
}