本文整理汇总了PHP中UrlUtil::isUrlShell方法的典型用法代码示例。如果您正苦于以下问题:PHP UrlUtil::isUrlShell方法的具体用法?PHP UrlUtil::isUrlShell怎么用?PHP UrlUtil::isUrlShell使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UrlUtil
的用法示例。
在下文中一共展示了UrlUtil::isUrlShell方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: trim
if (!ActionUtil::invokeAction($urlInfo)) {
// echo ("<hr/>如果你看到这一行提示,则说明没有被调度到ActionUtil : : numOfShellArgs(){}所注册的Action方法。<hr/>");
// var_dump($urlInfo);
/* 这里可再添加其它调度方式的代码【已被常规调度的有:0,1,3,4。剩余的参数状态有:2,5和 [没有注册shell或shell参数个数不符] 的状态3】。
* 一般人没必要利用这个地方,你要是读懂了源代码,就任你用!
* 本框架的设计者对源码很熟悉,所以就把这个分支用作普通模板输出啦!
* 如果你输入的链接[ http://server.com/ItemName/?xxx=abc ]中的abc不是URL指令,
* 而且还执行到此处的时候,系统就认定这个abc是用来访问abc.php这个页面的。
* 本系统用于输出到客户端的页面默认存放于/PUBLIC_DIR_NAME/core/tpl/other/ 目录,要自定义存放位置,则需配置 [ 模板目录路径 OTHER_TEMPLATE_DIR @ /core/lib/base/env__.php ]。
* 以上输入的链接将默认访问到 /PUBLIC_DIR_NAME/core/tpl/other/abc.php 。
* 以上得到的参数'abc'的取法:$urlInfo['params'][0]。取出该参数之前,要确保$urlInfo['params']非null,并且也要确保count($urlInfo['params'])非0,以及$urlInfo['params'][0]非null.
* 接下来的就是页面[模板]输出的代码:
*/
if (null != $urlInfo['params'] && 0 != count($urlInfo['params']) && null != $urlInfo['params'][0]) {
$param = $urlInfo['params'][0];
if (false === UrlUtil::isUrlShell($param)) {
$param = trim(trim($param), '-/');
$path = '';
foreach (explode('-', $param) as $p) {
$p = trim($p, '/ \\');
if (strcmp('', $p)) {
$path .= '/' . $p;
}
}
$path = trim($path, '/');
/*包含的文件除了可以是abc.php之类的以外,也可以是abc/def/ghi.php之类的。
* 只要请求的文件名参数能够被系统识别出a-b-c-d的格式,就可以默认访问到PUBLIC_DIR_NAME/core/tpl/a/b/c/d.php。
* 这样的文件名参数格式,在本系统中称之为标准格式。其中的“-”将被替换为“/”。
* 对于【'r_^-fds \\--/gh'】之类的文件名参数,本系统可以将之解析为【r_^/fds/gh】(原参数中,有“-”和“--”,于是结果就有两条“/”。至于原参数中的“\\”和“/”,将被清除)。
* 这种掺入无关字符(“\”、“/”)的做法,可以起到障眼的作用,使文件路径不易被猜解。
*/