有开发者希望能够通过路由让某个目录静态文件可以被访问,例如开发者开发了一个后台插件,插件的静态文件全部在 vendor/foo/admin/src/public
下,则可以在config/route.php中添加下面路由让其可以被访问。
Route::any('/your/path/[{path:.+}]', function (Request $request, $path = '') {
// 静态文件目录
$static_base_path = base_path() . '/vendor/foo/admin/src/public';
// 安全检查,避免url里 /../../../password 这样的非法访问
if (strpos($path, '..') !== false) {
return response('<h1>400 Bad Request</h1>', 400);
}
// 文件
$file = "$static_base_path/$path";
if (!is_file($file)) {
return response('<h1>404 Not Found</h1>', 404);
}
return response('')->withFile($file);
});
这样通过url http://127.0.0.1:8787/your/path/xx/xx.js
访问静态文件了。
感谢大佬分享
https://www.workerman.net/q/8096 看看这个
有一个场景, 在一个监控端接收所有房间的新消息,workman能实现吗
Route::any('/your/path/[{path:.+}]', function (Request $request, $path)
最好改成
Route::any('/your/path/[{path:.+}]', function (Request $request, $path='')
不然访问/your/path/会报错
有道理,已经修正 👍
这个功能非常nice
有一个场景, 在一个监控端接收所有房间的新消息,workman能实现吗
这个功能非常 N I C E
老大,有个小建议,网站可以在个人主页加上历史回答吗,有功底的开发者一般回答质量比较高,浏览问答模块,不应该只在有问题的时候来,没事了来看看别人的回答,特别是高质量的答案,对框架的理解,知识栈补充,思路拓展都很有帮助
已加
老大,有个疑问,request->file('name')不支持多文件上传,上传多文件每次仅能获取一个,parse_str解析url类似image=0&image=1&ceshi=2这种多文件的会产生覆盖问题,这个是框架设计为了简化数据结构还是bug呢,我修改了框架代码修复这个问题,因为返回的结果不再固定是UploadFile实例,也可能是UploadFile实例的数组,用之前还要进行判断,所以问一下这里是什么情况,如果不是这样设计的,能不能修复一下这个问题,我去更新一下版本
噢,看错了,这样返回都是数组,单文件是只有一个元素的数组
新问题单独发帖子吧
请教一个问题,gatewayWorker是否还存在粘包分包问题。如果我单独使用workman则存在。gatewayWorkman中的是否处理了粘包和分包的问题?