Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用URL调用php函数?_Php_Function_Url_Call - Fatal编程技术网

如何使用URL调用php函数?

如何使用URL调用php函数?,php,function,url,call,Php,Function,Url,Call,您好,我想知道如何调用我刚从URL编写的函数? 下面是我的php代码 <?php require 'db.php'; function l1(){ echo "Hello there!"; } function l2(){ echo "I have no Idea what Im doing!"; } function l3(){ echo "I'm just a year 1 college student dont torture me sir!"; }

您好,我想知道如何调用我刚从URL编写的函数? 下面是我的php代码

<?php
require 'db.php';

function l1(){
    echo "Hello there!";
}

function l2(){
    echo "I have no Idea what Im doing!";
} 
function l3(){
    echo "I'm just a year 1 college student dont torture me sir!";
}


?>

如果像这样使用if/elseifs,您可以选择:

if($_GET['function'] == 'l1')
{
    l1();
}
else if($_GET['function'] == 'l2')
{
    l2();
}
或者您可以使用风险更高的方法,直接从输入调用函数名

$functionName = $_GET['function'];
$functionName();
编辑: 或者可以使用switch语句:

switch($_GET['function'])
{
    case 'l1':
        l1();
    break;
    case 'l2':
        l2();
    break;
    case 'l3':
        l3();
    break;
}

是的,您可以在调用用户定义函数时提供该参数:

$func = $_GET['function'];
$func();
也可以通过以下方式过滤您定义的内容:

旁注:
函数_存在
也可以应用:

if(!empty($_GET['function']) && function_exists($_GET['function'])) {
    // invoke function
}

可能重复,但请认真重新考虑。你不想让访问者在代码中的某个地方随机执行任何PHP函数。你没有得到什么?这是我正在寻找的方法,但我不知道如何应用它。我在我的帖子中添加了一个switch语句的示例代码。谢谢你,我真的很感激。这是一个很好的答案。。。您还阻止用户执行他们想要的任何功能+1.
if(!empty($_GET['function']) && function_exists($_GET['function'])) {
    // invoke function
}