php 如何寫api給別人使用?

火爆浪子
  • 2.8k

我現在需要寫一隻api
是讓別人可以上傳圖片到我的伺服器上的特定目錄夾
但我不知道怎麼著手?
概念是
對方透過 enctype="multipart/form-data"
可以把圖片丟到我這裡
我會用json回傳URL給對方

上傳機制我已經有了

$_FILES['myFile_avatar']
move_uploaded_file
回复
阅读 1.7k
2 个回答

api 所在的域名是否和 api调用方 所在的域名是一致的??如果不一致,则要考虑下跨域的问题。

假设 api 所在的域名是:http://api.com,调用方所在的域名是 http://get.com

我定义了一个 api 如下:

// 如果是api和调用方在同一个域名下,那么不用加这个头部
// 这边由于跨域!所以需要加 cors 相关头部
// 具体含义请百度
header('Access-Control-Allow-Origin: http://get.com');
header('Access-Control-Allow-Credentials: true');

class UploadFile {
    public function upload(){
        // 图片上传处理 ...
    }
}

调用的时候 http://api.com/UploadFile/upload 然后加上所需的参数。


调用方 js

var apiUrl = 'http://api.com/UploadFile/upload';
// 构造表单对象
var formData = new FormData();
    // 添加文件
    formData.append('file' , file);
var xhr = new XMLHttpRequest();
    xhr.open('post' , apiUrl , true);
    xhr.onreadystatechange = function(){
        ...
    };
    xhr.send(formData);
  1. 首先整理下需求,别人上传到你的伺服器,只上传文档么?需不需要额外讯息?
  2. 其次需要设计接口:是不是需要统一化的目录?比如URL可以是www.xxx.com/api/postFile,那么这个需求怎么通过URL Rewrite来实现;另外通讯使用的方法是GET还是POST(不过你这个比较明显需要用到POST);怎么处理用户发过来的额外讯息;用户调用接口后返回的正确/错误信息等。
  3. 上边这些,一个个解决掉,然后整理成接口文档。
  4. 功能上线联调。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏