如何在函数中使用来自另一个php脚本的php变量()

时间:2012-04-12 15:58:14

标签: php variables joomla include scope

我已经搜索了stackoverflow和其他一些网站,并尝试了几个小时的新代码组合,但我放弃了.. 我有2个php文件,一个名为getimages.php,另一个名为mod_slidepluslight.php我使用Joomla作为CMS并使用灯箱制作幻灯片模块,现在我想通过设置的模块参数从Joomla内的文件夹中检索图像一个.xml文件。我是通过使用以下代码完成的:

$imagePath = $params->get('imagePath', 'banners');

现在,当我尝试声明这个变量并在我的代码中使用它时,它什么也没做。

function returnimages($relPath = "/KVD/images/") { 
$dirname = $_SERVER['DOCUMENT_ROOT'] . $relPath . $imagePath; 

$ imagePath应该在/KVD/images/......./之后添加,也可以在现在的位置添加。 getimages.php的整个代码如下所示:

Header("content-type: application/x-javascript");

$imagePath = $params->get('imagePath', 'banners/');

function returnimages($relPath = "/KVD/images/") { 
$dirname = $_SERVER['DOCUMENT_ROOT'] . $relPath . $imagePath; 
$files = array(); 
$curimage = 0; 
if($handle = opendir($dirname)) { 
while(false !== ($file = readdir($handle))){ 
if (preg_match('/\.(jpg|jpeg|gif|png)$/', $file)){ 
print_r ('galleryarray['.$curimage.']="'. $relPath . $file .'";'); 
$curimage++; 
} 
} 

closedir($handle); 
} 
return($files); 
} 

print 'var galleryarray=new Array();'; //Define array in JavaScript 
returnimages() //Output the array elements containing the image file names

谢谢,Koen。

3 个答案:

答案 0 :(得分:0)

yoo在函数内调用$ imagePath但是$ imagePath超出了函数范围!您可以将$ imagePath作为参数发送到函数

答案 1 :(得分:0)

请记住变量的范围:在全局化或通过函数传递之前,returnimages()函数将无法访问$ imagePath varibale。

只需添加功能代码顶部:

global $imagePath;

答案 2 :(得分:0)

您需要考虑不同的方法。在创建将使用另一个脚本的模块时,另一个脚本应该是帮助器。

看看:

http://docs.joomla.org/Creating_a_Hello_World_Module_for_Joomla_1.5

如果您将getimages.php的内容作为帮助程序提供,如上面的链接所述,您将能够在该脚本中使用您的参数。