[php + xml] XML met een php variabele

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • HarmoniousVibe
  • Registratie: September 2001
  • Laatst online: 17-09 10:15
Voor mijn website voor de band van mijn vader gebruik ik een flash-based mp3 speler. Deze maakt gebruik van audiolist.xml om de paden, bestandsnamen, artiestnamen, etc uit te halen. Ik wil echter breedband én telefoongebruikers gebruik kunnen laten maken van deze speler. Daarom heb ik twee dirs gemaakt: hoge_kwaliteit en lage_kwaliteit. Beide met dezelfde nummers, maar met verschillende kwaliteit. Nu wilde ik gewoon een variabele q (met q=hoge of q=lage) meegeven in de url en in de xml file als pad $q_kwalteit/blabla.mp3 opgeven.

audiolist.xml:
code:
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="UTF-8"?>
<songs>
   <song path="<?php echo("$q") ?>_kwaliteit/straat.mp3" bild="" artist="Toemaat" title="De Straatzangerskoningin"/>
   <song path="<?php echo("$q") ?>_kwaliteit/baol.mp3" bild="" artist="Toemaat" title="De Baol"/>
   <song path="<?php echo("$q") ?>_kwaliteit/vlees.mp3" bild="" artist="Toemaat" title="De Juffrouw van het Vlees"/>
   <song path="<?php echo("$q") ?>_kwaliteit/bleeft.mp3" bild="" artist="Toemaat" title="Waar Bleeft Ge"/>
   <song path="<?php echo("$q") ?>_kwaliteit/boom.mp3" bild="" artist="Toemaat" title="De Pruimenboom"/>
</songs>


Dit wil echter niet werken. Volgens mij wordt mijn xml file niet door de php-parser gehaald. application/x-httpd-php xml php als mime type toevoegen (in het control panel) werkt ook niet. Als ik in plaats van $q gewoon hoge of lage invoer, werkt het wel gewoon, maar dat is dus niet wat ik wil.

[ Voor 16% gewijzigd door HarmoniousVibe op 26-04-2004 17:39 ]

12 × LG 330Wp (Enphase) | Daikin FTXM-N 3,5+2,0+2,0kW | Panasonic KIT-WC03J3E5 3kW


Acties:
  • 0 Henk 'm!

  • Erik Jan
  • Registratie: Juni 1999
  • Niet online

Erik Jan

Langzaam en zeker

***Reply op je post voordat je ge-edit had, beetje traag sorry.

Mocht het je lukken om het bestand door je PHP parser te halen, zal het nog niet werken. Met losse XML tussen de <?php en ?>-tags krijg je ongetwijfeld een parse-error.

De oplossing is om je scriptje gewoon een .php extensie te geven, zodat de PHP-parser er mee aan de slag kan. In je Flash bestand verwijs je dan gewoon naar http://server/audiolist.php?k=laag voor de XML data.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
//Verstuur juist contenttype
Header('Content-type: text/xml');

//Pak input
$path = $_GET['k'];
?>

<?xml version="1.0" encoding="UTF-8"?>
<songs>
   <song path="<?php print $path; ?>/straat.mp3" bild="" artist="Toemaat" title="De Straatzangerskoningin"/>
   <song path="<?php print $path; ?>/baol.mp3" bild="" artist="Toemaat" title="De Baol"/>
   <song path="<?php print $path; ?>/vlees.mp3" bild="" artist="Toemaat" title="De Juffrouw van het Vlees"/>
   <song path="<?php print $path; ?>/bleeft.mp3" bild="" artist="Toemaat" title="Waar Bleeft Ge"/>
   <song path="<?php print $path; ?>/boom.mp3" bild="" artist="Toemaat" title="De Pruimenboom"/>
</songs>

[ Voor 22% gewijzigd door Erik Jan op 26-04-2004 17:46 ]

This can no longer be ignored.


Acties:
  • 0 Henk 'm!

  • HarmoniousVibe
  • Registratie: September 2001
  • Laatst online: 17-09 10:15
Bedankt voor de suggestie, maar de file moet perse audiolist.xml heten, anders kan de swf het überhaupt niet lezen. Ik heb overigens wel de .fla, maar geen Macromedia Flash (en ik draai Linux).

12 × LG 330Wp (Enphase) | Daikin FTXM-N 3,5+2,0+2,0kW | Panasonic KIT-WC03J3E5 3kW


Acties:
  • 0 Henk 'm!

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 12:57

Robtimus

me Robtimus no like you

Misschien een idee om een entity te gebruiken?

More than meets the eye
There is no I in TEAM... but there is ME
system specs


Acties:
  • 0 Henk 'm!

  • HarmoniousVibe
  • Registratie: September 2001
  • Laatst online: 17-09 10:15
IceManX schreef op 26 april 2004 @ 20:12:
Misschien een idee om een entity te gebruiken?
Dat is toch niet nodig in xml?

edit: Of wat bedoel je precies met entity?

[ Voor 12% gewijzigd door HarmoniousVibe op 26-04-2004 20:20 ]

12 × LG 330Wp (Enphase) | Daikin FTXM-N 3,5+2,0+2,0kW | Panasonic KIT-WC03J3E5 3kW


Acties:
  • 0 Henk 'm!

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 12:57

Robtimus

me Robtimus no like you

LB06 schreef op 26 april 2004 @ 20:16:
[...]

Dat is toch niet nodig in xml?

edit: Of wat bedoel je precies met entity?
&qual;, die dan hoog of laag is. Die moet je dan in een DTD omschrijven (die je natuurlijk genereerd dan).

More than meets the eye
There is no I in TEAM... but there is ME
system specs


Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 14:28
Na iedere wijziging schrijf je de file gewoon juist weg op de server?

Acties:
  • 0 Henk 'm!

  • beetle71
  • Registratie: Februari 2003
  • Laatst online: 09-09 15:24
Kun je wel de directory instellen?
Dan zou je je flash hetvolgende 'wijs' kunnen maken.

url: http://www.server.nl/audiolist.php/hoog/audiolist.xml

waarbij je in audiolist.php (in de serverroot dus, want dat bestandje wordt uitgevoerd :) alsnog het xml bestandje genereerd adhv. de gegevens uit de $_SERVER['REQUEST_URI']

Acties:
  • 0 Henk 'm!

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 12:57

Robtimus

me Robtimus no like you

djluc schreef op 26 april 2004 @ 21:32:
Na iedere wijziging schrijf je de file gewoon juist weg op de server?
Yep.

Moet je die DTD wel includen natuurlijk.

More than meets the eye
There is no I in TEAM... but there is ME
system specs


Acties:
  • 0 Henk 'm!

Verwijderd

Als je apache draait, kun je de ForceType directive gebruiken om de server het als PHP te laten behandelen.
Pagina: 1