XML playlist in PHP integreren hoe doe ik dak?

  • Onderwerp starter Onderwerp starter kaan
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

kaan

Gebruiker
Lid geworden
9 feb 2007
Berichten
189
Al 2 dagen ben ik aan het zoeken en uitproberen om een xml playlist in php te integreren.
Het is mij gewoon niet gelukt.

Is er iemand die mij kan helpen om het uit te leggen hoe ik het moet doen?

Het gaan om een PHP nuke site waar ik een modulu voor wil schrijven waarin ik via de database youtube links oproep met gebruik van een xml playlist, met deze xml playlist wil ik deze weer afspelen.

PHP:
$kisiler2 = '
<?xml version=\'1.0\' encoding=\'utf-8\'?>
<playlist version=\'1\' xmlns=\'http://xspf.org/ns/0/\'>
  <title>Sample PHP Generated Playlist</title>
  <info>$infourl</info>';

  $kisiler2 = sql_query("select kisi_id, kisi_name,kisi_email, kisi_image, user_name, kisi_hits from ${prefix}_kimnerede_kisi WHERE kisi_status='1' and katid='$katid'  limit $goster, $limit", $dbi);
    while (list($kisi_id, $kisi_name,$kisi_email, $kisi_image, $user_name, $kisi_hits) = sql_fetch_row($kisiler2, $dbi)) {
    $yorumlar = sql_query("select * from ${prefix}_kimnerede_yorum where kisid=$kisi_id", $dbi);
     $yorum = sql_num_rows($yorumlar, $dbi);
$kisiler2 .='
    <track>
      <creator>$creator</creator>
      <title>$kisi_name</title>
      <location>$kisi_email</location>
      <image>$imageurl$noext.JPG</image>
      <duration>{$metadata[0]}</duration>
      <annotation>{$metadata[1]}</annotation>
    </track>';

    }
    // closing tags
$kisiler2 .= '
  </trackList>
</playlist>';
//  modules/Kim_Nerede/playlist.xml
$flvwidth = 450;
$flvheight = 300;
$flv = "modules/Kim_Nerede/playlist.xml";

        echo "<tr><td align=\"center\" colspan=\"2\">"
  . "<p id='preview'>Bu filmi izileyebilmek için
<a target=\"_blank\" s_oc=\"null\" s_oid=\"http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&amp;Lang=Turkish\" s_oidt=\"0\" href=\"http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&Lang=Turkish\">
Adobe Flash Player</a> <span lang=\"tr\">yüklemeniz gerekiyor</span>.</p><br>"
  . "<script type='text/javascript' src='modules/Kim_Nerede/swfobject.js'></script>"
  . "<script type='text/javascript'>"
  . "var s1 = new SWFObject('modules/Kim_Nerede/player.swf','player','$flvwidth','$flvheight','9');"
  . "s1.addParam('allowfullscreen','true');"
  . "s1.addParam('allowscriptaccess','always');"
  . "s1.addParam('flashvars','file=$kisiler2');"
  . "s1.write('preview');"
  . "</script>";

Mijn vraag aan jou is: wat doe ik fout waarom word mijn lijstje niet afgespeeld?

Alvorens veel dank
 
Hier heb je ' ipv " gebruikt:

PHP:
$kisiler2 .='
    <track>
      <creator>$creator</creator>
      <title>$kisi_name</title>
      <location>$kisi_email</location>
      <image>$imageurl$noext.JPG</image>
      <duration>{$metadata[0]}</duration>
      <annotation>{$metadata[1]}</annotation>
    </track>';
Als je " gebruikt mag je variabelen in de string zetten en wordt hier de waarde voor in de plaats gezet, maar bij ' wordt de string gewoon zonder te bewerken uitgegeven.

Dus dit moet zo worden:
PHP:
$kisiler2 .="
    <track>
      <creator>$creator</creator>
      <title>$kisi_name</title>
      <location>$kisi_email</location>
      <image>$imageurl$noext.JPG</image>
      <duration>{$metadata[0]}</duration>
      <annotation>{$metadata[1]}</annotation>
    </track>";

En $kisiler2 wordt niet in een bestand geschreven.
De bestandsnaam moet dan achter file= te staan niet de string $kisiler2' zoals hier:
. "s1.addParam('flashvars','file=$kisiler2');"
 
Laatst bewerkt:
Peter,

Bedankt voor je reactie.

Om te kijken of het werkt heb ik volgende geprobeerd maar helaas werkt het niet.

De code is als volg:


PHP:
$playlist = "<playlist version=\"1\" xmlns=\"http://xspf.org/ns/0/\">
<title>XSPF Example Playlist</title>
<info>http:/xspf.org/xspf-v1.html</info>
<trackList>
<track>
<title>ag-pg</title>
<location>http://www.youtube.com/watch?v=h8NWqO85P6Y</location>
</track>
</trackList>
</playlist>";


echo "<tr><td align=\"center\" colspan=\"2\"><p id='container'><a target=\"_blank\" s_oc=\"null\" s_oid=\"http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash\" s_oidt=\"0\" href=\"http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash\">Adobe Flash Player</a></p><br>";

echo '<script type="text/javascript" src="modules/Kim_Nerede/swfobject.js"></script>
<script type="text/javascript">
var s1 = new SWFObject("modules/Kim_Nerede/player.swf","mediaplayer","500","320","8");
s1.addParam("allowfullscreen","true");
s1.addVariable("width","500");
s1.addVariable("height","320");
s1.addVariable("file","$playlist");
s1.addVariable("image","afraid.jpg");
s1.write("container");
</script>';
 
Laatst bewerkt:
Hallo Kaan,

De flash player.swf verwacht een bestandsnaam van een xml bestand, maar jij geeft daar een string (tekst) met daarin de inhoud van het xml bestand in deze regel:
s1.addVariable("file","$playlist");

Zou dit moeten zijn: s1.addVariable("file","mijnplaylist.xml");

Dus de inhoud van $playlist moet je in het php script eerst als mijnplaylist.xml (in bovenstaan voorbeeld) weg schrijven.
 
Hallo Kaan,

De flash player.swf verwacht een bestandsnaam van een xml bestand, maar jij geeft daar een string (tekst) met daarin de inhoud van het xml bestand in deze regel:
s1.addVariable("file","$playlist");

Zou dit moeten zijn: s1.addVariable("file","mijnplaylist.xml");

Dus de inhoud van $playlist moet je in het php script eerst als mijnplaylist.xml (in bovenstaan voorbeeld) weg schrijven.

Peter,

Mijn doel is als volg:

Ik wil in plaats van een xml file gebruik maken van database waarin in de links toevoeg.
en met s1.addVariable("file","$playlist"); deze code wil ik het weer laten afspelen, van daar deze code.
Alleen dit wil maar niet lukken...
 
Laatst bewerkt:
Hallo Kaan,

Ik snap je bedoeling wel, maar de player.swf niet, die wil bij file een bestandsnaam van een playlist en niet de inhoud. De player.swf opent playlist bestand en leest dan de data in. De player.swf moet daarvoor aangepast worden, zodat je de playlist als string mee kunt geven.
 
Ok, het is duidelijk.

Hoe kan ik dit doen? :(:(
 
Je kunt dit oplossen als je het script in 2 bestanden splitst.
Op deze manier bij player.swf file=playlist.php?listid=10
playlist.php genereerd xml data die uit een database komt en de datais afhankelijk van in dit geval listid.
 
Peter,

Nog bedankt voor je hulp, dank zijn jou hulp kom ik wel verder met mijn script....
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan