如何从地址栏调用php函数?

时间:2014-06-05 06:02:32

标签: php function url post get

如何从地址栏调用我的php文件中声明的函数? 我已经尝试使用站点地址附加函数名称,但它没有调用函数..

http://myWebSite.com/myFile.php?writeMessage

myfile.php:

<?php
  /* Defining a PHP Function */
  function writeMessage()
  {
  echo "You are really a nice person, Have a nice time!";
  }
  /* Calling a PHP Function */
  writeMessage();
  ?>

6 个答案:

答案 0 :(得分:9)

您可以在URL中检查GET参数的存在并相应地调用函数:

if(isset($_GET['writeMessage'])){
   writeMessage();
}

答案 1 :(得分:3)

一个简单的方法,我会使用你没有太多的函数是在php文件的顶部使用if语句并检查url的参数。

让我们说网址:

http://myWebSite.com/myFile.php?writeMessage

把它变成:

http://myWebSite.com/myFile.php?function=writeMessage

代码:

<?php
  $function = $_GET['function'];
  if($function == "writeMessage") {
    // writeMessage();
  }
?>

答案 2 :(得分:1)

当然不会,尤其不是那样。对我来说,从地址栏调用PHP函数似乎是一个可怕的想法,但如果你坚持:

将函数名称附加到您的网址,如下所示:

http://myWebSite.com/myFile.php?func=writeMessage

在PHP文件中:

<?php
    $func = filter_var($_GET["func"]);
    call_user_func($func);
?>

答案 3 :(得分:1)

尝试:

http://myWebSite.com/myFile.php?writeMessage=1

<?php
 /* Defining a PHP Function */
 function writeMessage()
 {
    echo "You are really a nice person, Have a nice time!";
 }
 /* Calling a PHP Function */
 if(isset($_GET['writeMessage']) && $_GET['writeMessage'] == 1){
   writeMessage();
 }
?>

答案 4 :(得分:1)

您可以这样做:

<?php

function writeMessage() {
    echo "You're a nice person";
}

$writeMessageArg = $_GET['writeMessage']; /* grabs the argument from the URL */

if (isset($writeMessageArg)) {
    writeMessage();
}

?>

答案 5 :(得分:1)

对于通用方法

<?php

$q = $_SERVER['QUERY_STRING'];

function TestFunc() {
    echo "TestFunc() called.";
}

$q();

?>

您可以通过在地址栏中输入以下网址来调用TestFunc():

  

http://myWebSite.com/myFile.php?TestFunc