我的PHP源代码里面有一个if的,
例如在if里面留言成功,就显示:留言添加成功,我想添加一个执行PHP的执行文件,全是直接打开就是一个执行的PHP,在里面能否调用PHP?如何写这个,是使用include还是什么?能否直接让留言成功弹出窗口后就再执行我指定的PHP文件呢?
源文件:if($result == 1) {     ShowMsg("留言添加成功");
我想在这里添加执行的php文件; } else {     ShowMsg("留言添加失败"); }

解决方案 »

  1.   

    require_once("my.php");
    这样会不会直接是执行这个my.php文件呢?
    我想的是留言后再次后台执行一个规定的php的文件的
      

  2.   


    我是想直接调用并且执行我已经编写好的php文件,这个php文件是只要一打开就会自动执行的相关动作
      

  3.   


    if($result == 1){
      ShowMsg("留言添加成功");
      exec("c:\path\php phpinfo");
    }else{
      ShowMsg("留言添加失败");
    }使用PHP执行系统外部命令的四种方法:  在PHP文件函数关于如何删除文件实例教程中,我提到有两种方法,一种使用unlink函数删除文件,还有一种是通过system函数调用系统命令来执行删除文件命令,其实除了system函数,PHP执行命令的方法还有很多种,下面介绍在PHP网站开发中最常用的四种执行命令的方法。准备工作  出于安全性考虑,在通常情况下虚拟主机、XAMPP、DedeAMPZ等PHP运行环境都是禁止调用系统外部命令的。所以当你需要使用PHP执行命令的函数调用系统外部命令时,你需要确保PHP运行环境支持PHP执行命令的函数。  如果你使用的是XAMPP、DedeAMPZ,一般默认是禁止运行PHP执行命令的函数的,你可以在php.ini配置文件中disable_functions一项中去除你想要使用的函数,然后重启apache即可。我使用的是DedeAMPZ,所以我去除了exec()、passthru()、system()、shell_exec()这四个函数。PHP运行环境如何配置?  如果你的PHP运行环境是自行配置的,默认php.ini配置文件中是不禁止你调用执行外部命令的函数的,当然出于安全考虑,你还是应该禁止调用一部分执行系统外部命令的函数,找到disable_functions,配置如下:disable_functions = exec,system,passthru,shell_exec即禁止执行这三个函数,每个函数之间以逗号分隔。PHP.INI如何配置?  如果你使用的是虚拟主机,你需要询问主机提供方PHP环境是否支持使用PHP执行命令的函数。其他说明:  由于我使用的是Windows系统,所以实例教程中以调用windows系统外部命令为主,如你熟悉linux操作,你不妨在linux系统下尝试执行linux命令。PHP执行命令的四种方法方法一:使用exec函数执行系统外部命令原型:function exec(string $command,array[optional] $output,int[optional] $return_value)
    1
    2
    3
    4

    <?
        exec("dir",$outPut);
        print_r($outPut);
    ?>说明:列出和PHP执行文件同级目录下的所有目录及文件信息。知识点:exec执行系统外部命令时不会输出结果,而是返回结果的最后一行,如果你想得到结果你可以使用第二个参数,让其输出到指定的数组,此数组一个记录代表输出的一行,即如果输出结果有20行,则这个数组就有20条记录,所以如果你需要反复输出调用不同系统外部命令的结果,你最好在输出每一条系统外部命令结果时清空这个数组,以防混乱。第三个参数用来取得命令执行的状态码,通常执行成功都是返回0。方法二:使用system函数执行系统外部命令原型:function system(string $command,int[optional] $return_value)
    1
    2
    3

    <?
        system("dir");
    ?>知识点:system和exec的区别在于system在执行系统外部命令时,直接将结果输出到游览器,如果执行命令成功则返回true,否则返回false。第二个参数与exec第三个参数含义一样。方法三:使用函数passthru执行系统外部命令原型:function passthru(string $command,int[optional] $return_value)知识点:passthru与system的区别,passthru直接将结果输出到游览器,不返回任何值,且其可以输出二进制,比如图像数据。方法四:反撇号`(和~在同一个键)执行系统外部命令
    1
    2
    3

    <?
        echo `dir`;
    ?>知识点:在使用这种方法执行系统外部命令时,你要确保shell_exec函数可用,否则是无法使用这种反撇号执行系统外部命令的。安全性说明  当你使用这些函数执行命令时,如果是根据用户提交数据作为执行命令的话,你需要考虑系统安全性,可以使用escapeshellcmd()和escapeshellarg()函数阻止用户恶意在系统上执行命令,escapeshellcmd()针对的是执行的系统命令,而escapeshellarg()针对的是执行系统命令的参数。这两个参数有点类似addslashes()的功能。其他说明  当执行命令的返回结果非常庞大时,可以需要考虑将返回结果输出至其他文件,再另行读取文件,这样可以显著提高程序执行的效率。即
    1
    2
    3

    <?
        system("dir > leapsoulcn.txt");
    ?>说明:这里system执行命令时并不将结果直接输出至游览器而是输出至指定目录下的文件中,显著提高了程序执行的效率。  至此PHP执行命令最常用的四种方法exec()、passthru()、system()、shell_exec()及它们之间的区别就介绍完了,在PHP网站开发中根据情况合理利用这些函数执行系统外部命令是非常有用的。  注:PHP网站开发教程-leapsoul.cn版权所有,转载时请以链接形式注明原始出处及本声明,谢谢。
      

  4.   


    我添加上去了,好像不执行my.php的文件东西
      

  5.   

    直接require/include进来就可以。
      

  6.   

    直接require/include进来就可以。条件判断的时候加入
      

  7.   

    直接require或者include进来,不知为什么总是出错的,单独打开执行php是没有错的.
    if($result == 1){require("http://www.xxxx.com/test/testemail.php");
    include("http://www.xxxx.com/test/testemail.php");  
    ShowMsg("留言添加成功");
      
    }else{
      ShowMsg("留言添加失败");
    }
      

  8.   

    if($result == 1){include("http://www.xxxx.com/test/testemail.php");   
    ShowMsg("留言添加成功");
       
    }else{
      ShowMsg("留言添加失败");
    }
      

  9.   

    我都是require_once 'xxx.php'; 文件路径不要写错了。
      

  10.   

      require_once("http://www.xxxx.cn/mail/testemail.php");
    成功
    原件符号也很重要,包括路径,完整的网址路径.
    感谢大家的支持与帮助