如何使用thinkPHP5框架结合plupload插件实现高效图片批量上传?
- 内容介绍
- 文章标签
- 相关推荐
本文共计419个文字,预计阅读时间需要2分钟。
原文示例:本文字例讲述了ThinkPHP5框架整合Plupload实现图片批量上传功能的方法。分享给广大供参考,具体如下:在官网下载Plupload:http://www.plupload.com 或者点击此处本站下载。这里我们使用‘
改写后:本文实例介绍了如何将ThinkPHP5框架与Plupload结合,实现图片批量上传功能。以下为具体步骤:前往Plupload官网下载:[官网链接] 或点击此处下载本站资源。以下为操作步骤:‘
本文实例讲述了thinkPHP5框架整合plupload实现图片批量上传功能的方法。分享给大家供大家参考,具体如下:
在官网下载plupload input", "rb")) { die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": "Failed to open input stream."}, "id" : "id"}'); } } while ($buff = fread($in, 4096)) { fwrite($out, $buff); } @fclose($out); @fclose($in); // Check if file has been uploaded if (!$chunks || $chunk == $chunks - 1) { // Strip the temp .part suffix off rename("{$filePath}.part", $filePath); } // Return Success JSON-RPC response die($filePath); //这里直接返回结果 // die('{"jsonrpc" : "2.0", "result" : "'.$filePath.'", "id" : "id"}'); } }
最后Controller或Model获取结果并保存
$images = $request->post('images/a'); //这里一定要注意, thinkphp通过name获取post数组时会获取不到数据,需要在name后加/a,表示获取数组详见Request的typeCast model('PhotoImage')->query_insert($images, $id);//批量插入图片
/** * 强制类型转换 * @param string $data * @param string $type * @return mixed */ private function typeCast(&$data, $type) { switch (strtolower($type)) { // 数组 case 'a': $data = (array) $data; break; // 数字 case 'd': $data = (int) $data; break; // 浮点 case 'f': $data = (float) $data; break; // 布尔 case 'b': $data = (boolean) $data; break; // 字符串 case 's': default: if (is_scalar($data)) { $data = (string) $data; } else { throw new \InvalidArgumentException('variable type error:' . gettype($data)); } } }
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
本文共计419个文字,预计阅读时间需要2分钟。
原文示例:本文字例讲述了ThinkPHP5框架整合Plupload实现图片批量上传功能的方法。分享给广大供参考,具体如下:在官网下载Plupload:http://www.plupload.com 或者点击此处本站下载。这里我们使用‘
改写后:本文实例介绍了如何将ThinkPHP5框架与Plupload结合,实现图片批量上传功能。以下为具体步骤:前往Plupload官网下载:[官网链接] 或点击此处下载本站资源。以下为操作步骤:‘
本文实例讲述了thinkPHP5框架整合plupload实现图片批量上传功能的方法。分享给大家供大家参考,具体如下:
在官网下载plupload input", "rb")) { die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": "Failed to open input stream."}, "id" : "id"}'); } } while ($buff = fread($in, 4096)) { fwrite($out, $buff); } @fclose($out); @fclose($in); // Check if file has been uploaded if (!$chunks || $chunk == $chunks - 1) { // Strip the temp .part suffix off rename("{$filePath}.part", $filePath); } // Return Success JSON-RPC response die($filePath); //这里直接返回结果 // die('{"jsonrpc" : "2.0", "result" : "'.$filePath.'", "id" : "id"}'); } }
最后Controller或Model获取结果并保存
$images = $request->post('images/a'); //这里一定要注意, thinkphp通过name获取post数组时会获取不到数据,需要在name后加/a,表示获取数组详见Request的typeCast model('PhotoImage')->query_insert($images, $id);//批量插入图片
/** * 强制类型转换 * @param string $data * @param string $type * @return mixed */ private function typeCast(&$data, $type) { switch (strtolower($type)) { // 数组 case 'a': $data = (array) $data; break; // 数字 case 'd': $data = (int) $data; break; // 浮点 case 'f': $data = (float) $data; break; // 布尔 case 'b': $data = (boolean) $data; break; // 字符串 case 's': default: if (is_scalar($data)) { $data = (string) $data; } else { throw new \InvalidArgumentException('variable type error:' . gettype($data)); } } }
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

