2012-04-12 1 views
0

Ich habe Stackoverflow und einige andere Seiten gesucht und neue Code-Kombinationen für ein paar Stunden jetzt versucht, aber ich gebe auf .. Ich habe 2 php Dateien, eine namens getimages.php und die andere namens mod_slidepluslight.php ich benutze Joomla als CMS und machte ein Diashow-Modul mit Leuchtkasten, jetzt möchte ich Bilder aus Ordnern innerhalb Joomla durch die Modul-Parameter in einer .xml-Datei gesetzt abrufen. Ich tat dies, indem Sie diesen Code verwenden:wie man eine PHP-Variable von anderen PHP-Skript in einer Funktion()

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

Wenn ich jetzt versuchen, diese Variable zu deklarieren und verwenden Sie es in meinem Code er nichts tun.

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

Die $ imagePath sollte entweder nach /KVD/images/......./ hinzugefügt oder wo es jetzt ist. Der gesamte Code von getimages.php sieht wie folgt aus:

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 

Danke, Koen.

Antwort

0

yoo Aufruf $ imagePath innerhalb einer Funktion, aber $ imagePath ist außerhalb der Funktionsumfang! Sie können den $ imagePath als Parameter senden an die Funktion

+0

Danke für die Antwort, meinen Sie, dass ich meine $ imagePath = .... in meiner Funktion hinzufügen sollte? – Koen

+0

Dies ist eine mögliche Lösung. Ein anderer definiert die Funktion wie folgt: function returnimages ($ relPath = "/ KVD/images /", $ imagePath) und dann, wenn Sie es rendern reports (null, $ imagePath) –

+0

Kann ich Sie in einen Chat einladen? – Koen

0

im Auge behalten, den Umfang einer Variablen: Ihre returnimages() Funktion zugreifen kann, um den $ imagePath Varibale nicht, bis Sie sie globalisieren oder es durch die Funktion übergeben.

Fügen Sie einfach, auf der Oberseite Ihres Funktionscode:

global $imagePath; 
+0

Hey, danke für die Antwort, ich habe jetzt eingestellt, aber es funktioniert immer noch nicht. $ imagePath = $ params-> get ('imagePath', 'banners /'); Funktion returnimages ($ relPath = "/ KVD/Bilder /") { global $ imagePath; $ dirname = $ _SERVER ['DOCUMENT_ROOT']. $ relPath. $ imagePath; – Koen

+1

Bitte nicht "global" ... – PeeHaa

0

Sie müssen einen anderen Ansatz berücksichtigen. Wenn Sie ein Modul erstellen, das ein anderes Skript verwendet, sollte dieses andere Skript ein Helfer sein.

Werfen Sie einen Blick auf:

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

Wenn Sie die Inhalte von getimages.php verfügbar als Helfer machen, wie in den obigen Link beschrieben, können Sie Ihre Parameter in diesem Skript verwenden, .

Verwandte Themen