Bir çalma listesi oluşturmak için PHP kullanarak Im. Iki rastgele şarkı) bir dizin seçilir ve onların adı ve konumu bir dizide saklanır ve daha sonra json_encode (üzerinden bir dosyaya yazılır.
$ ArraySongs [] = array ('name' => $ songName, 'mp3' => $ webUrl);
Bu harika çalışıyor. Ben bir anda çok uzun çalma, iki şarkı yapabilirsiniz. Id de şarkıları kaldırmak ister, bu yüzden mesaj silinecek parça kimliği, PHP ardından bütün tracklist yükler, bir AJAX destekli silme düğmesi var ...
$ = Json_decode (true file_get_contents ($ tracklist)) çözümlenmiş;
ve diziden verilen şarkı kodlar yeniden, sonra kaldırır ve yeniden json metin dosyasına yazar. Bu, tüm harika çalışıyor.
Ben daha 10 maddelik bir çalma listesi ile bir şey silmeye çalışın zaman sorun gelir.
Typically, my song.json file goes [{name:song1,mp3:song url},{name:song2,mp3:song2 url}] However, when I have a list of more than 10 items, the re encoded playlist looks like this:
[{...}, {Name: song9, mp3: song9 url}], [10, {"name": song10, mp3: song10 url}]
Why is my re-encoded array get that strange [10,{"name"... [11,{"name"... [12,{"name"... but everything below 10 is always fine?
Bu okuma için teşekkürler! Herhangi bir öneri büyük ölçüde bu beni deli ediyor, takdir!
İşte kullanarak kod im:
<?php
$json = "song.php";
$decoded = json_decode(file_get_contents($json),true);
$playlist = array();
$names = array();
// Now Get i From Javascript
$i=$_POST['id'];
//Select i's Array
$collect_array=$decoded[$i];
while (list ($key, $val) = each ($collect_array)) {
//Remove i's Values
//echo "<br />$key -> $val <br>";
unset($decoded[$i]);
}
//Take all the remaining arrays
$collect_array=$decoded;
while (list ($key, $val) = each ($collect_array)) {
$arraySongs[] = array($key , $val);
}
// Our New Array ready for json.
$jsonData = json_encode($arraySongs);
// open song.php and scribble it down
$tracklist = $json;
$fh = fopen($tracklist, 'w') or die("can't open filename: $tracklist");
fwrite($fh, $jsonData);
fclose($fh);
?>