调用一个简单的外部PHP脚本&捕获其输出或结果:

时间:2014-01-16 11:58:08

标签: php scripting joomla2.5

我对Joomla& amp; PHP和我正在试验让Joomla与外部应用程序交谈的方法。我试图在Joomla之外启动(简单的脚本,'call.php',调用PHP脚本'interface.php'并且捕获输出)。

当它工作时我想将它集成到Joomla中(因此我的自定义组件或模块可以调用interface.php并捕获它的输出)。

到目前为止,interface.php在命令行上工作(输出值的增量输出&也附加到日志文件),但在(call.php)调用时则不然。会发生什么'interface.php'就好像一个变量从未传递给它:-(。

任何人都可以说需要添加什么&提供使用Joomla模块或MVC组件进行此工作的任何提示。

详情:

  • 我正在使用XAMPP for Windows 7

  • 脚本#1:call.php

脚本#2:interface.php

<?php
/* This script forms the basis of a test interface between Joomla and an external data source. It will:
1) return the increment of the value it was passed and 
2) append to a flat file: 
a) a time stamp of when it was called, 
b) the value of the given parameter and 
c) the incremented value that was returned  
*/
$p1 = $_SERVER['argv'][1];
$p2 = $p1 + 1;

// Open file file for writing (append mode)
// Append to file timestamp + p1 (parameter) + p2 (p1+1)
$fh = fopen("log.txt",'a+');
$entry = "\n" . date("l,j F Y; G.i.s:", time()) . " => [p = $p1]" . " AND [p + 1 = $p2]";
fwrite($fh, $entry) or die("Could not write to file");
fclose($fh);

// Return increment of value input ($p2)
echo $p2;
?>

1 个答案:

答案 0 :(得分:0)

当您从命令行调用时,如果通过浏览器调用$ _SERVER ['argv'],则不会设置$ _SERVER ['argv'],您需要使用$ _GET或$ _REQUEST。 / p>

你是如何调用interface.php脚本的?