我已经搜索了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。
答案 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的内容作为帮助程序提供,如上面的链接所述,您将能够在该脚本中使用您的参数。