Nasıl benim PHP uygulama müzik için aynı pencereyi yeniden kullanmak için alabilirim?

3 Cevap php

Aşağıda otomatik olarak kullanıcı tarafından seçilen şarkılara göre bir playlist.xml dosyası oluşturmak benim oyuncu için kodudur. Ben kök klasöründe player.php olarak bu dosyayı tuttu ve formda I verin:

<form method="post" action="/player.php" target="_blank">

bu nedenle bu oyuncu açılması ve seçilen ne göre şarkıları çalıyor.

Önceden seçilmiş şarkılar yeni pencerede oyuncu oynarken kullanıcı tekrar farklı şarkıları seçer Ama sorun, seçilen yeni şarkılar bir daha pencere açıyoruz, yani artık iki oyuncu pencere açılır.

Aslında ben ikinci seçilen şarkı zaten açıldığında aynı pencerede oynayacak istiyorum. Sen oynayarak şarkıları sitemden ne oluyor kontrol edebilirsiniz: http://www.musicking.in/hindi-songs/69.html

<html>
<body>
<?php
  if(isset($_POST["song"])&& $_POST['song'] != "") {
    $song = $_POST["song"];
  }
  else { $song=array(); }

  for ($i="0"; $i<count($song); $i++) { 
    //echo  $song[$i];
  }

  //start of new php codep
  // create doctype

  //$array = array(
  //  'song.mp3','song.mp3','song.mp3',
  //);

  $dom = new DOMDocument("1.0");

  // display document in browser as plain text 
  // for readability purposes
  header("Content-Type: text/plain");
  // create root element
  $root = $dom->createElement("xml");
  $dom->appendChild($root);
  $i = "1";
  foreach ($song as $counter) {
    // create child element
    $song = $dom->createElement("track");
    $root->appendChild($song);

    $song1 = $dom->createElement("path");
    $song->appendChild($song1);
    // create text node
    $text = $dom->createTextNode($counter);
    $song1->appendChild($text); 

    $song1 = $dom->createElement("title");
    $song->appendChild($song1);

    $text = $dom->createTextNode("song ".$i);
    $song1->appendChild($text); 
    $i++;
  }

  // save and display tree
  //echo $dom->saveXML();
  $dom->save("playlist.xml");
?>

<script type="text/javascript" src="swfobject.js"></script>

<div id="flashPlayer">
  This text will be replaced by the flash music player.
</div>


<script type="text/javascript">
   var so = new SWFObject("playerMultipleList.swf", "mymovie", "295", "200", "7", "#FFFFFF");  
   so.addVariable("autoPlay","yes")
   so.addVariable("playlistPath","playlist.xml")
   so.write("flashPlayer");
</script>
</body>
</html>

3 Cevap

sadece bildiğim kadarıyla javascript ile bunu ... ve bunun için javascript istekleri göndermek için yaptım eğer bir pop-up açıldı ve algılamak için küçük bir hack gidecekseniz olabilir.

Bu muhtemelen aradığınız "DÜZELTME" değil biliyorum, ama flaş vars de hedef belirlemeye çalışın.

Ben _self belirtmek yardımcı olabilir düşünüyorum

sadece bir düşünce

Boyutu için bu deneyin ;)

<form method="post" action="/player.php" target="popup-player" target="playerTargetWin" onSubmit="window.open('about:blank','playerTargetWin','width=300,height=300')">
    <p>
    	<label for="textfield">Type something in the box:</label>
    	<input type="text" name="textfield" id="textfield" />
    </p>
    <p>
    	<input type="submit" value="Submit" />
    </p>
</form>