Zurück   Flashforum > Flash und Server > PHP und MySQL

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-05-2011, 00:10   #1 (permalink)
Neuer User
 
Registriert seit: May 2003
Beiträge: 40
Slideshow mit PHP und XML

Hallo Ich habe eine Image Slideshow gebastelt die auch eigentlich gut
funktioniert.

Nun würde ich gerne die Inhalte der XML Datei per PHP in eine
<textarea></textarea> laden um dort z. B. Änderungen an der Reihenfolge
oder erweiterungen durchzuführen.

So sieht meine XML Datei aus:


<Slideshow>
<images>
<image url="bild1.jpg"/>
<image url="bild2.jpg"/>
<image url="bild3.jpg"/>
<image url="bild4.jpg"/>
</images>
</Slideshow>


nun sollte in der textarea folgendes nach dem laden stehen:
bild1.jpg
bild2.jpg
bild3.jpg.......


hat da irgendjemand einen Tipp! Danke
cyber4711 ist offline   Mit Zitat antworten
Alt 25-05-2011, 05:15   #2 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
PHP: SimpleXML - Manual

PHP-Code:
<?php
// Die Datei test.xml enthält ein XML-Dokument mit einem Wurzel-Element
// und mindestens einem Element /[root]/title.

if (file_exists('test.xml')) {
    
$xml simplexml_load_file('test.xml');

    
print_r($xml);
} else {
    exit(
'Konnte test.xml nicht öffnen.');
}

foreach (
$xml->children() as $image) {

     echo 
$image['url']."\n";

}
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 25-05-2011, 09:43   #3 (permalink)
Neuer User
 
Registriert seit: May 2003
Beiträge: 40
Das klingt super!!! aber wie bekomme ich die Ausgabe in einer Textarea hin?

Gruß und Dank
cyber4711 ist offline   Mit Zitat antworten
Alt 25-05-2011, 10:32   #4 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
Registriert seit: Feb 2006
Ort: Augsburg
Beiträge: 3.499
PHP-Code:
<textarea><?php
// Die Datei test.xml enthält ein XML-Dokument mit einem Wurzel-Element
// und mindestens einem Element /[root]/title.

if (file_exists('test.xml')) {
    
$xml simplexml_load_file('test.xml');

    
print_r($xml);
} else {
    exit(
'Konnte test.xml nicht öffnen.');
}

foreach (
$xml->children() as $image) {

     echo 
$image['url']."\n";

?></textarea>
shin10 ist offline   Mit Zitat antworten
Alt 25-05-2011, 21:09   #5 (permalink)
Neuer User
 
Registriert seit: May 2003
Beiträge: 40
Ich hab das mit dem Script probiert:
Folgender Txt wird nun in der <textarea> ausgegeben:


SimpleXMLElement Object
(
[images] => SimpleXMLElement Object
(
[image] => Array
(
[0] => SimpleXMLElement Object
(
[@attributes] => Array
(
[url] => img/bild1.jpg
)

)

[1] => SimpleXMLElement Object
(
[@attributes] => Array
(
[url] => img/bild2.jpg
)

)

[2] => SimpleXMLElement Object
(
[@attributes] => Array
(
[url] => img/bild3.jpg
)

)

[3] => SimpleXMLElement Object
(
[@attributes] => Array
(
[url] => img/bild4.jpg
)

)

[4] => SimpleXMLElement Object
(
[@attributes] => Array
(
[url] => img/bild5.jpg
)

)

)

)


irgenwas mach ich da falsch
cyber4711 ist offline   Mit Zitat antworten
Alt 26-05-2011, 00:24   #6 (permalink)
Neuer User
 
Registriert seit: May 2003
Beiträge: 40
Ich habe folgendes ausprobiert

<textarea>
<?php
$Slideshow = simplexml_load_file('test.xml');
for($i=0,$size=count($Slideshow);$i<$size;$i++)

{
echo $Slideshow->images[$i]->images, "/n";

}
?>
</textarea>



hier die XML:

<Slideshow>
<images>
<image url="bild1.jpg"/>
<image url="bild2.jpg"/>
<image url="bild3.jpg"/>
<image url="bild4.jpg"/>
</images>
</Slideshow>


Ich glaube in der zeile:
echo $Slideshow->images[$i]->images, "/n";

ist wahrscheinlich ein bug drin!!! Kann da jemand helfen
cyber4711 ist offline   Mit Zitat antworten
Alt 26-05-2011, 08:53   #7 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Der Fehler lag bei mir, da die Bilder nochmals in "images" verschachtelt sind muss auch das durchlaufen werden:

PHP-Code:
<?php
?>

<textarea cols="100" rows="20"><?php
// Die Datei test.xml enthält ein XML-Dokument mit einem Wurzel-Element
// und mindestens einem Element /[root]/title.

if (file_exists('test.xml')) {
    
$xml simplexml_load_file('test.xml');
} else {
    exit(
'Konnte test.xml nicht öffnen.');
}

foreach (
$xml->children() as $images) {

     foreach( 
$images as $image ){
        
        echo 
$image['url']."\n";
        
     }

?></textarea>
print_r() gehört natürlich raus da dies nur zum Testen war ob der import funktioniert.
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 26-05-2011, 12:36   #8 (permalink)
Neuer User
 
Registriert seit: May 2003
Beiträge: 40
Es funktioniert! Du bist mein Held!!! Danke.

hier noch mal die Endgültige Version:
PHP-Code:
<?php 
$filename 
'test.xml'
if (
file_exists($filename)) { 
    
$xml simplexml_load_file($filename); 
} else { 
    exit(
'Konnte Playlist nicht öffnen.'); 


foreach (
$xml->children() as $images) { 

     foreach( 
$images as $image ){ 
         
        echo 
$image['url']."\n"
         
     } 

?>

Normalerweise müßte ich doch Änderungen nun auch zurückschreiben können oder?

Gibt es da auch eine ansatzweise einfache Variante:

$file = 'test.xml';
$xml = simplexml_save_file($file);

Geändert von cyber4711 (26-05-2011 um 12:37 Uhr)
cyber4711 ist offline   Mit Zitat antworten
Alt 26-05-2011, 13:50   #9 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
PHP-Code:
$file 'test.xml';
file_put_contents$file$xml->asXML() ); 
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 26-05-2011, 15:45   #10 (permalink)
Neuer User
 
Registriert seit: May 2003
Beiträge: 40
obwohl XML schon klasse ist werden wir nicht wirklich Freunde!
nachdem ich ja nun die Daten in der Textarea angezeigt bekomme.
Habe ich gedacht O.K. ich baue unter die Textarea einen Button
der dann dein Script ausführt.

$file = 'test.xml';
file_put_contents( $file, $xml->asXML() );

Leider ohne Erfolg.
Ich will ja nicht nerven aber kannst Du mir bitte nochmal einen Tipp geben

Danke
cyber4711 ist offline   Mit Zitat antworten
Alt 26-05-2011, 15:47   #11 (permalink)
Neuer User
 
Registriert seit: May 2003
Beiträge: 40
Mein erster Ansatz war auch

$fn = fopen($datei,"w");
fwrite($fn,'<?xml version="1.0" encoding="UTF-8"?>
<dataroot>
<Playlist>'.$pl.'</Playlist>
</dataroot>');
fclose($fn);

Das ging garnicht
cyber4711 ist offline   Mit Zitat antworten
Alt 26-05-2011, 18:36   #12 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Was dir fehlt sind die Grundlagen, du probierst da Dinge aus die so nicht funktionieren können und bist dann frustriert.
Daher: Was ist genau dein Ziel? Was möchtest du tun und wie soll es am Ende aussehen? Ich bin mir sicher für das was du vor hast gibt es eine sinnvollere Lösung als eine Liste mit Bild-Pfaden in ein Textfeld zu schreiben.
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 27-05-2011, 01:12   #13 (permalink)
Neuer User
 
Registriert seit: May 2003
Beiträge: 40
Das mag sein das es eine Sinnvollere Lösung gibt! Nur sind die Sachen die ich gefunden habe meist so dermaßen aufgebläht. Wenn ich bedenke das deine Lösung ca. 15 Zeilen war und ich auch verstehe was da steht (O.K.mit nachschlagen)

Ich habe eine einfache Image-Slideshow in Flash. Diese holt sich
über die XML liste die Bild-URLS und spielt die Slideshow ab.
Läuft super. Nun könnte man ja einfach in die XML Datei gehen und
die Reihenfolge ändern bzw. erweitern - aber ich würde es gerne
eleganter lösen.

- Ein Formular lädt die XML in eine Textarea (läuft dank Dir super)
- unter der Textarea ist ein Button "Änderungen speichern"
- Wenn dieser Button geklickt wird, soll der Inhalt der Textarea wieder in die XML gespeichert werden.
- So kann man immer ohne großen Aufwand die Slideshow mal ändern.

Danke
cyber4711 ist offline   Mit Zitat antworten
Alt 27-05-2011, 09:14   #14 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
XML-Online Editor?
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 27-05-2011, 12:05   #15 (permalink)
Neuer User
 
Registriert seit: May 2003
Beiträge: 40
Das Prinzip ist das gleiche!!
Die Erweiterbarkeit des Script ohne in die XML Datei zu bearbeiten ist nur sehr eingeschränkt.
Da finde ich die Variante mit der Textarea um längen besser.
Kann jeder ändern ohne ins Script zu müssen.
Falls Du noch einen Tipp hast wie ich meine (unsere) Variante speichern
kann - wäre schön, ich will aber auch nicht nerven!!!
Hab mich erstmal mit Literatur eingedeckt.

Gruß
cyber4711 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Slideshow snowrocka Flash Einsteiger 5 21-02-2007 17:57
slideshow ninjja Flash MX 1 12-07-2004 11:22
slideshow Kord ActionScript 1 12 14-05-2004 12:18
slideshow patrick1982a Flash 4 und Flash 5 1 06-02-2004 14:43
Slideshow marcodeneu ActionScript 1 1 20-11-2003 23:17


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:28 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele