webservices上传文件

时间:2023-12-13 22:31:08

客户端:

ob_clean();
ob_start();
readfile("D:/44.jpg");
$logo = ob_get_clean();
$pararmArr = array(
  'm_id'=>'10',
  'm_logo'=>base64_encode($logo),
);
$g = json_encode($pararmArr);
$b = $client->addUserLogo($g);

读取二进制然后base64编码,最后json传输。

服务端:

$paramsArr = json_decode($params,true);
$m_id = (isset($paramsArr['m_id']) AND $paramsArr['m_id'] != '') ? $paramsArr['m_id'] : null;
$m_logo = (isset($paramsArr['m_logo']) AND $paramsArr['m_logo'] != '') ?$paramsArr['m_logo'] : null;
if(empty($paramsArr) OR $m_id === null OR $m_logo === null){
return json_encode(array('error'=>'empty params!'));
}
unset($paramsArr);
$this->_createModel(1);
if($this->activeModel === null){
return json_encode(array('error'=>'not exist model!'));
}
$m_logo_path = $this->logo_pre .'/'.date("Y").'/'.date("m").'/'.date("d").'/'.$m_id.'.jpg';
@mkdir($this->logo_pre .'/'.date("Y").'/'.date("m").'/'.date("d"),0777,true);
if(file_exists($m_logo_path)){
unlink($m_logo_path);
}
$flag = file_put_contents($m_logo_path,base64_decode($m_logo));
$parmas = array(
'm_id'=>$m_id,
'm_logo_path'=>$m_logo_path,
);
if($flag === false){
return json_encode(array('error'=>'add failure!'));
}
$a = $this->activeModel->updateLogo($parmas);

只要反解析就行了,注意目录的创建~以及写权限,最后入库。