整合阿里云OSS文件上传1

本文介绍了一个PHP类,用于处理文件上传至阿里云OSS服务器的过程。该类能够解析并上传APK文件及图片文件,并返回包括上传状态、URL等在内的详细信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

阿里云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;
}




}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值