php官方的超全局变量$_SERVER['PHP_SELF']也能直接获取,只不过如果url参数太多也会获取。
下面提供一个方法获取
/*
* 获取当前PHP文件名称
*/
if (!function_exists('phpself')) {
function phpself()
{
$phpself = $_SERVER['PHP_SELF'];
$_patten = '/(\/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*.php)/';
if(preg_match($_patten,$phpself,$result))
{
$phpself = $result['1'];
}
return $phpself;
}
}以上代码输出
phpself() // /index.php
如果你只是需要index.php不需要/index.php,将正则修改为
$_patten = '/(\[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*.php)/';
if($_SERVER['REQUEST_METHOD'] == 'POST') { echo('This is post '); } elseif ($_SERVER['...
逛公众号文章看到文章"php实现事件监听与触发的方法,你用过吗?",我就好奇了,php又不是asp.net的webform,哪里来的服务端事件监听。于是学习了一波。先看下监听类:class Event { /** &nbs...
面试中PHP面试官会问调用一个不存在的方法,如何知道是哪个文件哪行调用的?假设方法是getWorkLoad()回答1:开启PHP错误输出,PHP会输出Fatal error: Call to undefined function getWorkLoad() in D:\wwwroot\thinkpa...
主要原理是通过PHP创建多个子进程,在子进程中发送进程闹钟信号,然后再监听闹钟信号中继续发送闹钟信号。同时通过父进程设置非阻塞运行。代码如下:<?php /** * 订单任务 */ class Order { &n...
<?php //php7+ define('CONFIG', [ 'MYSQL' => '127.0.0.1',  ...
第一次听说端口复用是在mixphp最新版本中发现的,mixphp启动监听9501端口,现在作者说可以多开几个进程来执行mixphp,我心里想了下再启动不是会端口冲突嘛,但是却没有问题,于是下载mixphp的源码解读,原来是启动http服务器使用new Co\Http\Server('0.0....