Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Mały problem z funkcją readdir, Proszę o pomoc
Rafael6666
post
Post #1





Grupa: Zarejestrowani
Postów: 95
Pomógł: 0
Dołączył: 20.10.2006

Ostrzeżenie: (10%)
X----


Witam. Chcę zrobić mp3 player, który czyta nazwy utworów z folderu i dodaje je do pliku playlist.xml. Stworzyłem skrypt, ale jest w nim jakiś błąd, ponieważ kiedy go uruchamiam, w pliku playlist.xml w liście odtwarzania zapisuje się nazwa tylko jednego (ostatniego) utworu z folderu. Myślę, że nie jest to duży problem. Proszę o pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .

Oto kod:

Kod
<?php
if ($handle = opendir('a')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$myFile = "playlist.xml";
$fh = fopen($myFile, 'w') or die("Error!!");
fwrite($fh, "<playlist version='1' xmlns='http://xspf.org/ns/0/'><trackList>");
fwrite($fh, "<track><location>a/$file</location></track>");
fwrite($fh, "</trackList></playlist>");
fclose($fh);
}
}
closedir($handle);
}
?>


Chyba nie dużo trzeba w nim zmieniać (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
AxZx
post
Post #2





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

Ostrzeżenie: (0%)
-----


aha, czyli w takim razie w petli powinna byc tylko linijka
  1. <?php
  2. fwrite($fh, "<track><location>a/$file</location></track>");
  3. ?>


sprobuj tak

  1. <?php
  2. $myFile = "playlist.xml";//linia numer 1
  3.  $fh = fopen($myFile, "a") or die("Error!!");//linia numer 2
  4.  fwrite($fh, "<playlist version='1' xmlns='http://xspf.org/ns/0/'><trackList>");// linia numer 3
  5.  
  6. if ($handle = opendir('a')) {
  7.  while (false !== ($file = readdir($handle))) {
  8. if ($file != "." && $file != "..")  {  
  9.  fwrite($fh, "<track><location>a/$file</location></track>");
  10. }
  11.  }
  12.  closedir($handle);
  13. }
  14.  fwrite($fh, "</trackList></playlist>");// linia numer 4
  15.  fclose($fh);// linia numer 5
  16. ?>


albo ewentualnie zamiast zapisywac mozesz przypisac do zmiennej, a pozniej zapisac tylko dane tej zmiennej. czyli funkcja fwrite bedzie uzyta tylko 1 raz.

Ten post edytował AxZx 5.02.2007, 14:51:55
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.09.2025 - 12:55