Witajcie.
Niewiem czy dobrze nazwałem temat. Żeby się nie rozpisywać napiszę schemat skryptu w jaki sposob ma działać i co chce otrzymać.
Przykładowo opisywać będę na playliście m3u programu Winamp.
1. Za posrednictwem bazy myswl inportuje adresy url do plikow mp3 w petli
petla
{
echo "#EXTINF:-1,$NAZWA_UTWORU<br>"; echo "$ADRES_URL<br><br>"; }
w ten sposob wygeneruje przykladowa playliste:
#EXTM3U
#EXTINF:-1,Utwor 1
[url="http://serwer.pl/1.mp3"]http://serwer.pl/1.mp3[/url]
#EXTINF:-1,Utwor 2
[url="http://serwer.pl/2.mp3"]http://serwer.pl/2.mp3[/url]
#EXTINF:-1,Utwor 3
[url="http://serwer.pl/3.mp3"]http://serwer.pl/3.mp3[/url]
Teraz ten wygenerowany kod chciałbym załadować jako plik sluchaj.m3u
Jak to zrobić ?
Ważną informacją jest to, że raczej nie mogę użyć funkcji zapisania wygenerowanego kodu do pliku sluchaj.m3u znajdujacego sie na serwerze, poniewaz w momencie gdy np. 10 osob robilo by operacje generowania kodu, kazdy z opoznieniem np. 1ms pojawily by sie problemy. przynajmniej tak mysle. Sory ze tak po omacku opisalem o co mi chodzi, ale jestem kiepski jesli chodzi o php praca na plikach. Prosze o pomoc. Wiem, ze na samym koncu bedzie potrzebna funkcja readfile do wczytania pliku, kod playlisty wygenerowac umiem, mam tylko problem w jaki sposob dodac wygenerowany kod do wczytania go do pliku.
Na chwile obecna napisalem cos takiego:
index.php
echo '<form action="sluchaj.php" method="post">'; echo '<textarea name="playlista" style="width: 600px; height: 250px">';
////////////////////////////// Tresc playlisty
#EXTINF:180,Jochen Miller - Bamm! (Radio Mix) [ www.djplate.prv.pl ]
D:\DJ Plate\Music Pack\DJ Plate Music Pack 2012\DJ Plate Music Pack 2012 Vol. 3 [ www.djplate.prv.pl ]\mp3\Bamm [ www.djplate.prv.pl ].mp3
#EXTINF:192,Niels Van Gogh feat. Emilio Verdez - Beatrocker (Radio Version) [ www.djplate.prv.pl ]
D:\DJ Plate\Music Pack\DJ Plate Music Pack 2012\DJ Plate Music Pack 2012 Vol. 3 [ www.djplate.prv.pl ]\mp3\Beatrocker [ www.djplate.prv.pl ].mp3
#EXTINF:191,Estiva feat. Josie - Better Days (Norin & Rad Remix Edit) [ www.djplate.prv.pl ]
D:\DJ Plate\Music Pack\DJ Plate Music Pack 2012\DJ Plate Music Pack 2012 Vol. 3 [ www.djplate.prv.pl ]\mp3\Better Days [ www.djplate.prv.pl ].mp3";
//////////////////////////////////////////////////////////////
echo '</textarea><br><br>'; echo '<input type="submit" value="Sluchaj">';
sluchaj.php
$dane = $_POST['playlista'];
// usuniecie starego istniejacego pliku
// przypisanie zmniennej $file nazwy pliku
$file = "sluchaj.m3u";
// uchwyt pliku, otwarcie do dopisania
// blokada pliku do zapisu
// zapisanie danych do pliku
// odblokowanie pliku
// zamknięcie pliku
//////////////////////////////////////////////////////////////////////////////
$nazwa_pliku = "sluchaj.m3u"; /// nazwa pliku z rozszerzeniem
$adres_pliku = "sluchaj.m3u"; /// adres docelowy do pliku
///////
header("Content-Type: Application/Force-Download"); /// typ pobieranego pliku jako domyslny header('Content-Disposition: attachment; filename="'.$nazwa_pliku.'"'); /// nazwa z jaka plik sie zapisze header('Content-Transfer-Encoding: binary'); ///
? readfile("$adres_pliku"); /// adres docelowy do pliku
Ale jak widac wszystko odbywa sie na pliku, i niewiem czy nie byloby komplikacji, jesli zaluzmy 1000 osob w tym samym momencie zaczeloby generowac sobie plik w celu posluchania muzyki
Ten post edytował tinware 17.02.2012, 19:10:53