sae php api,api.php · silenceper/saeApi - Gitee.com

/**

* 为了方便外部网站将附件上传至 SAE上的Storage 所以写了这个简单的api。

* 使用方法 :

* 一、将api.php 上传至SAE

* 二、本地只要实例化 SaeUpload.class.php这个类即可

*

*

* SaeUpload提供了三个方法

* writeFile($filename,$up_filename,$replace=false) 上传文件

* deleteFile($filename) 删除文件

* exists($filename) 判断文件是否存在 如果存在返回文件的路径 否则返回false

*

*

* @author silenceper

* @date 2013-07-28

*/

class Api{

public $post;

public $files;

public function __construct($post,$files,$pass){

$this->post=$post;

$this->files=$files;

//密码是否相等

if($pass!=$post['pass']){

$this->responseMesg(0,'密码错误');

}

}

/**

* start

*/

public function start(){

$post=$this->post;

switch ($post['method']){

case 'upload':

$this->uploadFile($this->post,$this->files);

break;

case 'delete':

$this->deleteFile($this->post);

break;

case 'exists':

$this->check_exists($this->post);

break;

default:

$this->responseMesg(0,'未知的请求');

break;

}

}

/**

* 上传文件

*

*/

private function uploadFile($post,$files){

$domain=$post['domain'];

$path=$post['path'];

$replace=$post['replace'];

$s = new SaeStorage();

if($s->fileExists($domain,$path)){

//文件已经存在

if($replace==false){

//不进行文件的覆盖覆盖

$this->responseMesg(0,'文件已经存在','文件已经存在');

}

}

//可以进行上传操作

$s_file=$s->upload($domain,$path,$files['file']['tmp_name']);

if($s_file===false){

$this->responseMesg(0,'上传失败',$s->errmsg());

}else{

$this->responseMesg(1,'上传成功',$s_file);

}

}

/**

* 删除文件

*/

private function deleteFile($post){

$domain=$post['domain'];

$path=$post['path'];

//首先判断文件是否存在

$s = new SaeStorage();

if(!$s->fileExists($domain,$path)){

//不进行文件的覆盖覆盖

$this->responseMesg(0,'该文件不存在,无法删除','该文件不存在,无法删除');

}

//可以执行删除

if($s->delete($domain,$path)){

$this->responseMesg(1,'文件删除成功');

}else{

$this->responseMesg(0,'文件删除失败',$s->errmsg());

}

}

/**

* 判断文件是否存在

*/

private function check_exists($post){

$domain=$post['domain'];

$path=$post['path'];

//首先判断文件是否存在

$s = new SaeStorage();

if($s->fileExists($domain,$path)){

$url=$s->getUrl($domain,$path);

$this->responseMesg(1,'文件存在',$url);

}else{

$this->responseMesg(1,'文件不存在',0);

}

}

/**

* 返回json信息

*/

private function responseMesg($code=0,$message='request failed!',$data=null){

$arr=array(

'code'=>$code,

'message'=>$message,

'data'=>$data

);

echo json_encode($arr);

exit();

}

}

//实例化

$api=new Api($_POST,$_FILES,'123');

$api->start();

?>

一键复制

编辑

原始数据

按行查看

历史

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值