[用户弗罗斯特0.3.1]
我想执行自定义 PHP 文件,绕过其他 UserFrosting 架构。
Slim 的 $app->render("myfile.php")
似乎不起作用。它需要在主题目录中有一个 twig 文件,它不会执行 PHP 脚本。
如何绕过此限制?
有关我想要实现的目标的详细信息:
我在自定义 PHP 文件中制作了一个文件上传脚本。它使用从用户表单(来自 UserFrosting 仪表板)发布的 $_FILES
数组来处理用户文件上传并执行一些处理工作。
我尚未设法通过自定义 UserFrosting 的 Controller 类访问 $_FILES
数据。这就是为什么我在根目录中使用了一个普通的旧外部 PHP 文件,并且它有效。
现在我希望通过 Slim 路由到该 PHP 文件,以强制执行基本用户身份验证/权限。
最佳答案
一般来说,我建议不要使用这种方法来设计易于长期管理的应用程序。 $_FILES
是一个超全局变量,因此应该可以从任何地方访问 - 甚至可以从类方法中访问。因此,我不确定为什么您在 Controller 中访问它时遇到问题。
但是,如果您确实需要调用包含过程代码的独立 PHP 文件,则始终可以在路由闭包中使用普通的旧 include
:
$app->get('/my-route/?', function () use ($app) {
// Access-controlled page
if (!$app->user->checkAccess('uri_my_route')) {
$app->notFound();
}
include "path/to/myfile.php";
});
关于php - 渲染自定义 PHP 代码 [UserFrosting/Slim],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38869909/