※ 引述《OpenGoodHate (什么东西什么东西)》之铭言:
: 如题
: 目前用PHP 在撰写API
: 想给行动平台(Android / iOS)批次上传表单(含照片的表单)
: 如果纯表单的话当然就是编成JSON 上传就好
: 可是因为里面还有夹照片
: 目前想的是把照片先zip 起来,然后表单里有照片的档名
: 接着一次用POST 上传,Server 接收完之后再unzip把照片放到资料夹中
: 请问还有没有其他的写法呢
: 然后有什么限制要注意
: 目前想到的就只有档案太大上传有可能超时的问题
: set_time_limit(0)的话不知道会不会被client咬死导致一条行程就占用着不会被放掉
: 然后内存加大如果我上传的照片超过内存设定量会不会爆炸
: 还是这种情况其实要client 自己写循环来call 就好??
: 不知道要怎么样实做会是比较好的选择
我之前写过IOS的上传图片。
事实上我觉得不用把问题想太复杂。
android/ios都有相对应的http request套件。
你可以当成他就是<form method="post" encrypt="multipart/form-data"></form>
唯一的难点就是你后面说的上传太大的问题。
关于这一点,如果你打算上传“原图”其实问题可能还没那么大。
我之前的问题是:上传的图,php还要各自转成h720、h480、h240(h = 高)
转图才是真正耗内存资源的时候。
那时就发生了ipad mini上传正常,iphone5s上传异常的情形。
(前者是500万画素,后者是800万画素)
总的来说,你可以自己先处理好php的表单上传模式。
统一一个固定接受的接口。
其他的传输全按照那个接口的规定走。
你如果担心set_time_limit(0)的问题。
那你应该反过来想另外一个问题:
谁会希望你上传到等待程式完成要卡画面超过1分钟……
可能卡个10秒就已经受不了了。
我之前其实是有用ignore_user_abort(true)让上传后的缩图留在背景继续执行。
不知道各位大德是不是也有其他不错的方法呢?