1、文件上传验证

2、增加图片上传配置
2、接口功能优化
This commit is contained in:
2018-03-23 20:17:32 +08:00
parent 341877cfb8
commit c0b94d30c5
5 changed files with 69 additions and 194 deletions

View File

@@ -1,10 +1,12 @@
<?php
namespace app\api\controller;
class Index
{
public function index()
{
return '<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} a{color:#2E5CD5;cursor: pointer;text-decoration: none} a:hover{text-decoration:underline; } body{ background: #fff; font-family: "Century Gothic","Microsoft yahei"; color: #333;font-size:18px;} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.6em; font-size: 42px }</style><div style="padding: 24px 48px;"> <h1>:)</h1><p> ThinkPHP V5<br/><span style="font-size:30px">十年磨一剑 - 为API开发设计的高性能框架</span></p><span style="font-size:22px;">[ V5.0 版本由 <a href="http://www.qiniu.com" target="qiniu">七牛云</a> 独家赞助发布 ]</span></div><script type="text/javascript" src="http://tajs.qq.com/stats?sId=9347272" charset="UTF-8"></script><script type="text/javascript" src="http://ad.topthink.com/Public/static/client.js"></script><thinkad id="ad_bd568ce7058a1091"></thinkad>';
}
}
class Index extends \app\common\controller\Api {
public $mustToken = true;
public function usercount(){
$this->data['data'] = array('team_num'=>100,'coustomer_num'=>10000);
return $this->data;
}
}

View File

@@ -0,0 +1,36 @@
<?php
namespace app\api\controller;
use EasyWeChat\Factory;
/**
* 微信类接口
*/
class Wechat extends \app\common\controller\Api{
public function onLogin() {
$app = Factory::miniProgram(array(
'app_id' => 'wxbcf7b64b8dc6ca72',
'secret' => '01f8b10956ea44e6a726f1391af6e3d8',
));
$info = $app->auth->session($this->request->param('code'));
$this->data['data'] = $info;
return json($this->data);
}
public function jscode2session(){
$app = Factory::miniProgram(array(
'app_id' => 'wxbcf7b64b8dc6ca72',
'secret' => '01f8b10956ea44e6a726f1391af6e3d8',
));
$info = $app->auth->session($this->request->param('jsCode'));
$this->data['data'] = $info;
return json($this->data);
}
}

View File

@@ -46,7 +46,7 @@ class Api {
return $this->data;
}
protected function checkAuthor($header){return true;
protected function checkAuthor($header){
if (isset($header['authorization']) && $header['authorization']) {
list($appid, $sign) = explode('{|}', $header['authorization']);
$this->client = db('Client')->where('appid', $appid)->find();

View File

@@ -19,7 +19,10 @@ class Upload {
$config = $this->$upload_type();
// 获取表单上传文件 例如上传了001.jpg
$file = request()->file('file');
$info = $file->move($config['rootPath'], true, false);
$info = $file->validate(array(
'size' => $config['size'],
'ext' => $config['ext'],
))->move($config['rootPath'], true, false);
if ($info) {
$return['status'] = 1;
@@ -155,7 +158,7 @@ class Upload {
$data['m_time'] = $info->getMTime(); //获取最后修改时间
$data['owner'] = $info->getOwner(); //文件拥有者
$data['savepath'] = $info->getPath(); //不带文件名的文件路径
$data['url'] = $data['path'] = str_replace("\\", '/', substr($info->getPathname(), 1)); //全路径
$data['url'] = $data['path'] = '/uploads/' . $info->getSaveName(); //全路径
$data['size'] = $info->getSize(); //文件大小,单位字节
$data['is_file'] = $info->isFile(); //是否是文件
$data['is_execut'] = $info->isExecutable(); //是否可执行

View File

@@ -16,126 +16,12 @@ return [
// 应用调试模式
'app_debug' => true,
// 应用Trace
'app_trace' => false,
// 应用模式状态
'app_status' => '',
// 是否支持多模块
'app_multi_module' => true,
// 入口自动绑定模块
'auto_bind_module' => false,
// 注册的根命名空间
'root_namespace' => [],
// 扩展函数文件
'extra_file_list' => [THINK_PATH . 'helper' . EXT],
// 默认输出类型
'default_return_type' => 'html',
// 默认AJAX 数据返回格式,可选json xml ...
'default_ajax_return' => 'json',
// 默认JSONP格式返回的处理方法
'default_jsonp_handler' => 'jsonpReturn',
// 默认JSONP处理方法
'var_jsonp_handler' => 'callback',
// 默认时区
'default_timezone' => 'PRC',
// 是否开启多语言
'lang_switch_on' => false,
// 默认全局过滤方法 用逗号分隔多个
'default_filter' => '',
// 默认语言
'default_lang' => 'zh-cn',
// 应用类库后缀
'class_suffix' => false,
// 控制器类后缀
'controller_suffix' => false,
// +----------------------------------------------------------------------
// | 模块设置
// +----------------------------------------------------------------------
// 默认模块名
'default_module' => 'index',
// 禁止访问模块
'deny_module_list' => ['common'],
// 默认控制器名
'default_controller' => 'Index',
// 默认操作名
'default_action' => 'index',
// 默认验证器
'default_validate' => '',
// 默认的空控制器名
'empty_controller' => 'Error',
// 操作方法后缀
'action_suffix' => '',
// 自动搜索控制器
'controller_auto_search' => false,
// +----------------------------------------------------------------------
// | URL设置
// +----------------------------------------------------------------------
// PATHINFO变量名 用于兼容模式
'var_pathinfo' => 's',
// 兼容PATH_INFO获取
'pathinfo_fetch' => ['ORIG_PATH_INFO', 'REDIRECT_PATH_INFO', 'REDIRECT_URL'],
// pathinfo分隔符
'pathinfo_depr' => '/',
// URL伪静态后缀
'url_html_suffix' => 'html',
// URL普通方式参数 用于自动生成
'url_common_param' => false,
// URL参数方式 0 按名称成对解析 1 按顺序解析
'url_param_type' => 0,
// 是否开启路由
'url_route_on' => true,
// 路由使用完整匹配
'route_complete_match' => false,
// 路由配置文件(支持配置多个)
'route_config_file' => ['route'],
// 是否强制使用路由
'url_route_must' => false,
// 域名部署
'url_domain_deploy' => false,
// 域名根如thinkphp.cn
'url_domain_root' => '',
// 是否自动转换URL中的控制器和操作名
'url_convert' => true,
// 默认的访问控制器层
'url_controller_layer' => 'controller',
// 表单请求类型伪装变量
'var_method' => '_method',
// 表单ajax伪装变量
'var_ajax' => '_ajax',
// 表单pjax伪装变量
'var_pjax' => '_pjax',
// 是否开启请求缓存 true自动缓存 支持设置请求缓存规则
'request_cache' => false,
// 请求缓存有效期
'request_cache_expire' => null,
// 全局请求缓存排除规则
'request_cache_except' => [],
// +----------------------------------------------------------------------
// | 模板设置
// +----------------------------------------------------------------------
'template' => [
// 模板引擎类型 支持 php think 支持扩展
'type' => 'Think',
// 模板路径
'view_path' => '',
// 模板后缀
'view_suffix' => 'html',
// 模板文件名分隔符
'view_depr' => DS,
// 模板引擎普通标签开始标记
'tpl_begin' => '{',
// 模板引擎普通标签结束标记
'tpl_end' => '}',
// 标签库标签开始标记
'taglib_begin' => '{',
// 标签库标签结束标记
'taglib_end' => '}',
'taglib_build_in' => 'cx,com\Sent',
],
@@ -150,56 +36,6 @@ return [
'dispatch_success_tmpl' => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl',
'dispatch_error_tmpl' => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl',
// +----------------------------------------------------------------------
// | 异常及错误设置
// +----------------------------------------------------------------------
// 异常页面的模板文件
'exception_tmpl' => THINK_PATH . 'tpl' . DS . 'think_exception.tpl',
// 错误显示信息,非调试模式有效
'error_message' => '页面错误!请稍后再试~',
// 显示错误信息
'show_error_msg' => false,
// 异常处理handle类 留空使用 \think\exception\Handle
'exception_handle' => '',
// +----------------------------------------------------------------------
// | 日志设置
// +----------------------------------------------------------------------
'log' => [
// 日志记录方式,内置 file socket 支持扩展
'type' => 'File',
// 日志保存目录
'path' => LOG_PATH,
// 日志记录级别
'level' => [],
],
// +----------------------------------------------------------------------
// | Trace设置 开启 app_trace 后 有效
// +----------------------------------------------------------------------
'trace' => [
// 内置Html Console 支持扩展
'type' => 'Html',
],
// +----------------------------------------------------------------------
// | 缓存设置
// +----------------------------------------------------------------------
'cache' => [
// 驱动方式
'type' => 'File',
// 缓存保存目录
'path' => CACHE_PATH,
// 缓存前缀
'prefix' => '',
// 缓存有效期 0表示永久缓存
'expire' => 0,
],
// +----------------------------------------------------------------------
// | 会话设置
// +----------------------------------------------------------------------
@@ -216,30 +52,28 @@ return [
'auto_start' => true,
],
// +----------------------------------------------------------------------
// | Cookie设置
// +----------------------------------------------------------------------
'cookie' => [
// cookie 名称前缀
'prefix' => '',
// cookie 保存时间
'expire' => 0,
// cookie 保存路径
'path' => '/',
// cookie 有效域名
'domain' => '',
// cookie 启用安全传输
'secure' => false,
// httponly设置
'httponly' => '',
// 是否使用 setcookie
'setcookie' => true,
],
//分页配置
'paginate' => [
'type' => 'bootstrap',
'var_page' => 'page',
'list_rows' => 15,
],
'picture_upload' => [
'rootPath' => ROOT_PATH . DS .'/web/uploads/',
'size' => '204800',
'ext' => 'jpg,png,gif'
],
'attachment_upload' => [
'rootPath' => ROOT_PATH . DS .'/web/uploads/',
'size' => '204800',
'ext' => 'doc,docx,xls,xlsx,ppt,pptx,zip,rar'
],
'picture_upload' => [
'rootPath' => ROOT_PATH . DS .'/web/uploads/',
'size' => '204800',
'ext' => 'jpg,png,gif'
],
];