PHP文件跨服务器上传

PHP文件上传(从一台服务器上传到另一个服务器的存储里面)


php > 7.0.0

功能描述:
在客户端上传了一个文件C到服务器A,但是因为系统部署把存储系统抽离单独部署在了服务器B上面(B上面的接口不对外暴露(只对A指定服务器暴露,也就是说只能A去调用),客户端不能直接调用B服务器上的接口),这个时候需要把客户端上传的文件通过A来调用B服务器上的存储接口进行存储。大致是这样:C --> A --> B

实现如下:

//获取上传的文件
$file = $_FILES;//$this->post('files', '');

//#一系列文件效验...
//略······
//$allowTypes = array('mp3', 'wma', 'm4a', 'flac','ape','wav');

//先把文件上传到服务器A - 这里根据自己的业务进行上传到自己的存储
$Uploader = new Ap_Util_Upload($file['files']);

//判读是否上传成功
if ( !$Uploader->upload()){
	return false;
}

//获取刚刚上传的文件信息
$savedFiles  = $Uploader->getSaveInfo();

//准备往服务器B上上传
$param = array(
	//使用\CURLFile进行上传
	//php的版本不一样\CURLFile的使用方法可能不一样,具体可以百度一下!!!
    'files[]' => new \CURLFile(realpath($savedFiles[0]['path'])),
);

//curl - post上传操作
$result = Ap_Api_Audio::request('/upload',$param);

//解析服务器B返回的存储信息
$audio = json_decode($result,true);

//删除服务器A的文件
unlink($savedFiles[0]['path']);

//返回存储信息
return $audio;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值