Zurück   Flashforum > Flash und Server > Flash mit XML und Webservices

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-12-2007, 21:30   #1 (permalink)
Zurückgekehrt
 
Registriert seit: Nov 2005
Ort: Berlin
Beiträge: 84
ein PHP erzeugtes XML File in Flash lesen

Hall oliebe GEmeinde,

Ich brauche einen Denkanstoss weil ich glaube irgendwie auf der falschen Spur zu sein.

Ich habe ein PHP File geschrieben was einen Ordner ausliest und aus dem Inhalt ein XML Baum "on the Fly" erzeugt, also nicht über fwrite sondern nur über echo. NUn wollte ich dieses PHP File über das Flash XML Objekt einlesen aber es funktioniert nicht, also es passiert garnichts.

Hier die Codes:
PHP-Code:
<?php
echo '<backgrounds_hi>';
echo 
'<node label="left">';
$url="../_mediafiles/images/backgrounds_hi";
$handle opendir ($url);
while ( 
$file readdir ($handle)) {
    if (
$file != "." && $file != ".." && $file != ".DS_Store" && $file != "_"){
        
$bild $file;
        if (
strpos($bild"03") === FALSE){
            
$bild str_replace(" ""_"$bild);
            
$bild str_replace("("""$bild);
            
$bild str_replace(")"""$bild);
            
$bildname str_replace(".jpg"""$bild);
            echo 
'<pic picname="'.$bildname.'" url="'.$url.'/'.$bild.'"/>';
        }
    }
}
closedir($handle);
echo 
'</node>';
echo 
'<node label="right">';
$handle opendir ($url);
while ( 
$file readdir ($handle)) {
    if (
$file != "." && $file != ".." && $file != ".DS_Store" && $file != "_"){
        
$bild $file;
        if (
strpos($bild"01") === FALSE){
            
$bild str_replace(" ""_"$bild);
            
$bild str_replace("("""$bild);
            
$bild str_replace(")"""$bild);
            
$bildname str_replace(".jpg"""$bild);
            echo 
'<pic picname="'.$bildname.'" url="'.$url.'/'.$bild.'"/>';
        }
    }
}
closedir($handle);
echo 
'</node>';
echo 
'</backgrounds_hi>';
?>
im as dann ...

PHP-Code:
backgrounds_hi = new XML();
backgrounds_hi.ignoreWhite true;
backgrounds_hi.load("_data/getbackgroundsXML.php"); // load? oder send??
backgrounds_hi.onLoad=function(success){
    if(
success){
        for(var 
i=0i<backgrounds_hi.firstChild.childNodes.lengthi++){
            
trace(backgrounds_hi.firstChild.childNodes[i].attributes.label);
            } 
// End of 1.for Loop inside of if(success) onLoad
        
// End of if(success) onLoad
// End of onLoad=function (XML Parser) 
das durch PHP erzeugte XML sieht im Quelltext des Browsers schon mal richtig aus:

PHP-Code:
<backgrounds_hi>
<
node label="left">
<
pic picname="DSC_0067_01" url="DSC_0067_01.jpg"/>
<
pic picname="DSC_0082_01" url="DSC_0082_01.jpg"/>
<
pic picname="DSC_0182_01" url="DSC_0182_01.jpg"/>
<
pic picname="DSC_0242_01" url="DSC_0242_01.jpg"/>
<
pic picname="DSC_0247_01" url="DSC_0247_01.jpg"/>
<
pic picname="KU01007_01" url="KU01007_01.jpg"/>
<
pic picname="KU01044_01" url="KU01044_01.jpg"/>
</
node>
<
node label="right">
<
pic picname="DSC_0028_03" url="DSC_0028_03.jpg"/>
<
pic picname="DSC_0053_03" url="DSC_0053_03.jpg"/>
<
pic picname="DSC_0082_03" url="DSC_0082_03.jpg"/>
<
pic picname="DSC_0233_03" url="DSC_0233_03.jpg"/>
<
pic picname="DSC_0242_03" url="DSC_0242_03.jpg"/>
<
pic picname="DSC_0247b_03" url="DSC_0247b_03.jpg"/>
<
pic picname="DSC_0247_03" url="DSC_0247_03.jpg"/>
</
node>
</
backgrounds_hi
da ich bis jetzt nur undynamische also fertig geschriebene XML Files in der Flasheinbindung benutzt hab, denk ich es liegt wahrscheinlich daran, dass ich ein .php File welches ein XML erzeugt so nicht einfach auf die selbe Weise einbinden kann. Das PHP muss irgendwie aufgerufen werden damit es das XML erzeugt bevor man es in das XML Objekt läd. Da ich dafür aber kein 2. XML File über PHP schreiben lassen will, muss ich es anders in FLash aufrufen und hineinladen. Ich weiß nur leider überhaupt nicht wonach ich suchen soll und komme dadurch auch allein nicht weiter, da die SUche bei XML und PHP und Flash die Standart Geschichten anzeigt ...

Ich bitte ganz lieb um eure Hilfe, oder einen Link oder so wo ich auf die richtige Spur komme

Danke im Vorraus
__________________
Grüße aus Berlin.
PS: Wenn ihr Problematiken zu Actionscript mit PHP habt, bitte involviert mich. Da interessiert mich alles.

Geändert von c8n8b1s (08-12-2007 um 21:38 Uhr)
c8n8b1s ist offline   Mit Zitat antworten
Alt 08-12-2007, 22:23   #2 (permalink)
relayit.de
 
Registriert seit: Sep 2001
Beiträge: 427
generell ist es wurst, ob du ein php oder ein xml laedst, entscheidend ist, was drin steht / als output kommt. da der output vom php erstmal ok aussieht, wirst du ein problem mit dem aufruf haben.

punkt1: wenn du lokal testest und eine relative pfadangabe machst ("_data/getbackgroundsXML.php"), laedt flash das php als file, egal ob du einen lokalen webserver am laufen hast. du musst das php also explizit ueber http laden. ("http://localhost/deinOrdner/_data/getbackgroundsXML.php")
punkt2: es macht auch sinn, ein trace bei nicht-erfuellung zu setzen , meistens ist der debugger aber vorzuziehen.

kannst das ja erstmal versuchen. wenns nicht geht, schau ich nochmal genauer
__________________
hmmm.....
japanitrat ist offline   Mit Zitat antworten
Alt 09-12-2007, 01:04   #3 (permalink)
Zurückgekehrt
 
Registriert seit: Nov 2005
Ort: Berlin
Beiträge: 84
Exclamation

japanitrat! danke Dir!!
Oh Mann, das war es!

Der Aufruf über die URl war das Problem. In der Tat teste ich über wamp on localhost und in der Tat scheint der Aufruf nur so zu funktionieren wie du es vorschlägst. Jetzt läuft alles, Dank deines Hinweises. Der Rest war wie du schon sagtest so weit richtig. Über Trace habe ich mir jetzt das Array in zwei verschachtelten for schleifen ausgeben lassen und jetzt zeigt es alles richtig an!!! Danke dir noch einmal. Das war echt lieb und hilfreich. Man findet leider darüber auch nichts im Macromedia Handbuch. Danke für diesen Tipp nochmal! So, Jetzt muss ich nur noch schaffen die BIlder in einem Zeitabstand frequenziell nach einander anzeigen zu lassen. Wenn es fertig ist, stelle ich es hier mal zur Verfügung.

LIebe Grüsse aus Berlin und 10000000 Dank nochmal für die nette Hilfe
__________________
Grüße aus Berlin.
PS: Wenn ihr Problematiken zu Actionscript mit PHP habt, bitte involviert mich. Da interessiert mich alles.
c8n8b1s ist offline   Mit Zitat antworten
Alt 09-12-2007, 01:39   #4 (permalink)
relayit.de
 
Registriert seit: Sep 2001
Beiträge: 427
gern geschehen doch achso, wenn du das swf dann einbindest und per http laedst, kannst du natuerlich wieder relative angaben benutzen, wird ja alles per http dann geladen.

zu den bildern noch ein tip: get fused
__________________
hmmm.....
japanitrat ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 09:37 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele