2013-02-28 46 views
-2

我想知道如何在PHP中更改或重複某些元素。 現在我正在使用腳本從shout-cast信息頁面獲取正在播放的歌曲。爲我的音樂播放器重複和更改php值

而在JQuery中,我有一個播放器,播放列表切換流。

現在它唯一做的事情就是切換到流而不顯示任何東西。 那麼我怎麼會在jQuery中調用php部分?


天哪,我真的很希望我的解釋清楚。


對於那些誰能夠幫我


你想要什麼零件的我的代碼我要顯示?


我將繼續爲您貼上它,馬上! :)


映入眼簾,

庫什。

代碼阿爾揚: jQuery的

$(document).ready(function(){ 
    var myPlaylist = new jPlayerPlaylist({ 
     jPlayer: "#jquery_jplayer", 
     cssSelectorAncestor: "#jp_container" 
    }, [ 
     { 
     title: "test", 
     mp3: "http://178.156.201.212:8018/;stream/1", 
     <?php 
     $host = "178.156.201.212"; // ip or url of shoutcast server 
     $port = "8018"; 
     ?> 
     }, 
     { 
     title: "test2", 
     mp3: "http://stream1.slowradio.com/;stream/1", 
     <?php 
     $host = "http://stream1.slowradio.com"; // ip or url of shoutcast server 
     $port = "8008"; 
     ?> 
     }, 
     { 
     title: "test3", 
     mp3: "http://108.61.73.119:8022/;stream/1", 
     <?php 
     $host = "108.61.73.119"; // ip or url of shoutcast server 
     $port = "8022"; 
     ?> 
     }, 
    ], { 
     swfPath: "js", 
     supplied: "oga, mp3", 
     wmode: "window" 
    }); 

    $("#jquery_jplayer").bind($.jPlayer.event.play, function(event) {  
     //$('#fetch').html(jPlayerPlaylist.playlist[jPlayerPlaylist.current].title); 
     $('#fetch').empty(); 
     $('#fetch').append(myPlaylist.playlist[myPlaylist.current].title); 
    }); 

}); 

PHP

<?php 



$host = "178.156.201.212"; // ip or url of shoutcast server 
$port = "8000";   // port of shoutcast server 

$fp = @fsockopen("$host", $port, $errno, $errstr, 30); 

if($fp) 
{ 
    fputs($fp,"GET /7.html HTTP/1.0\r\nUser-Agent: GET SEVEN (Mozilla Compatible)\r\n\r\n"); 

    while(!feof($fp)) 
    { 
    $data .= fgets($fp, 1000); 
    } 

    fclose($fp); 

    $data    = ereg_replace(".*<body>", "", $data); 
    $data    = ereg_replace("</body>.*", ",", $data); 
    $data_array  = explode(",",$data); 
    $listeners   = $data_array[0]; 
    $status   = $data_array[1]; 
    $peak_listeners = $data_array[2]; 
    $maximum_listeners = $data_array[3]; 
    $unique_listeners = $data_array[4]; 
    $bitrate   = $data_array[5]; 
    $track    = $data_array[6]; 
} 

$title = chop($track); 
$select = explode(" - ",$title); 
$artist = chop($select[0]); 
$title = chop($select[1]); 

?> 




<?php 
if($status == 1) 
{ 
    echo $artist. " - " .$title; 
} 
else 
{ 
    print 'document.getElementById("title").innerHTML = "Offline";'; 
} 
?> 

回答

1

調用內部的jQuery PHP是通過這個代碼實現:

$.ajax({ 
type: "GET", 
url: 'this_file.php', 
success: function(html) { 
    var data = html.split(' '); 
    var host = data[0]; 
    var port = data[1]; 
} 
}); 

你的PHP將是:

if (isset($_GET['update'])) { 
    die($host.' '.$port); 
} 

此代碼從php文件加載html並將其放入HTML body標籤中。當然,你可以改變任何元素的身體。

如需更具體的幫助,請發佈一些您的PHP和jQuery代碼。

編輯:在完整的文檔:http://api.jquery.com/jQuery.ajax/

+0

酷我會嘗試這個TY非常多。我會讓你如何儘快!非常感謝! ^^ – Kus 2013-02-28 12:49:14

+0

雖然一個問題..我有這個在我目前的頁面。如果我將它保存在那裏而不是在一個單獨的PHP頁面中,我將如何獲取它?導致PHP的功能是相當大的,我不想不斷重複大部分。我想重複它,但有不同的變量。他們被定義爲如此$ host =「info here」; $ port =「端口信息在這裏」; – Kus 2013-02-28 12:50:36

+0

@kus查看答案。 – Arjan 2013-02-28 13:00:18

0

也許這個作品:

<?php 
    $host = "http://stream1.slowradio.com"; // ip or url of shoutcast server 
    $port = "8008"; 
?> 

必須是

<?php 
    $host = "http://stream1.slowradio.com"; // ip or url of shoutcast server 
    $port = "8008"; 
    echo 'host: '.$host; 
    echo 'port: '.$port; 
?> 

下一次,一定要給你的代碼的時候了。這樣可以節省很多時間並減少我猜測的結果。

+0

非常感謝你Arjan,我不認爲有一個下一次,雖然..它說我不能再問問題了O_O'... 有一些我可以聯繫你?當我們都離開時,我做了一些關於PHP的學習。並且我學習了更多關於自定義函數和調用它們..但現在我遇到了問題,我無法從播放列表中調用它。如果你知道我在說什麼?順帶一提,非常感謝你的幫助。 – Kus 2013-02-28 15:37:07

+0

我做了你上面說的。但是當我去下一個流時它不會改變。 – Kus 2013-02-28 15:37:39

+0

所以我的想法是讓它在主機和端口的功能。 但我把它放在JQuery的umm播放列表中,但我不知道如何使它調用,當我切換流如標題。我試圖使用相同的代碼,但pfff ..變得困惑呃對不起。 – Kus 2013-02-28 15:39:58