Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: получить список файлов из каталога и забить в массив...

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Viper
Отправлено: 27 Августа, 2008 - 22:00:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




собственно нужен такой скрипт:
есть папка с mp3-файлами. нужно получить её содержимое, прочитать теги и вывести в виде xml документа.
часть кода по выводу тегов и xml уже написал, но возникла проблема с получением списка файлов. Может кто помочь ?

PHP:
скопировать код в буфер обмена
  1. $filesize = filesize($mp3_link);
  2. $file = fopen($mp3_link, "r");
  3. fseek($file, -128, SEEK_END);
  4.  
  5. $tag = fread($file, 3);
  6.  
  7. if ($tag == "TAG") {
  8.         $data["song"] = trim(fread($file, 30));
  9.         $data["artist"] = trim(fread($file, 30));
  10.         $data["album"] = trim(fread($file, 30));
  11.         $data["year"] = trim(fread($file, 4));
  12. } else die("Mp3 does not contain an ID3 tag!");
  13.  
  14. fclose($file);
  15.  
  16. $mp3_title = htmlentities($data["song"], ENT_QUOTES);
  17. $mp3_artist = htmlentities($data["artist"], ENT_QUOTES);
  18. $mp3_album = htmlentities($data["album"], ENT_QUOTES);
  19.  
  20. @header("Content-type: text/xml");
  21. echo '<?xml version="1.0" encoding="utf-8"?>
  22.                 <playlist version="1" xmlns="http://xspf.org/ns/0/">
  23.                         <tracklist>
  24.                         <track>
  25.                                 <title>'.$mp3_artist.' - '.$mp3_title.'</title>
  26.                 <info>'.$mp3_link.'</info>
  27.                                 <annotation>'.$data["album"].' ('.$data["year"].')</annotation>
  28.                         </track>
  29.                         </tracklist>
  30.                 </playlist>';


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
pifon1989
Отправлено: 27 Августа, 2008 - 22:19:16
Post Id



Частый гость


Покинул форум
Сообщений всего: 196
Дата рег-ции: Май 2008  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. // открываем папку
  4. $dh = opendir("адрес папки");
  5. while($filename = readdir($dh))
  6. {
  7. // любые операции с вашим файлом, например
  8. $fs = filesize($filename);
  9. $ft = filetype($filename);
  10. echo "Имя: ".$filename."\nРазмер: ".$fs."\nТип:".$ft;
  11. }
  12. ?>


-----
Ассемблер для Чайников
Всем любителям Pascal посвящается:
function writeln($text) {echo '<br>'.$text};
 
 Top
Viper
Отправлено: 27 Августа, 2008 - 22:31:49
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




pifon1989 пишет:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. // открываем папку
  4. $dh = opendir("адрес папки");
  5. while($filename = readdir($dh))
  6. {
  7. // любые операции с вашим файлом, например
  8. $fs = filesize($filename);
  9. $ft = filetype($filename);
  10. echo "Имя: ".$filename."\nРазмер: ".$fs."\nТип:".$ft;
  11. }
  12. ?>


ну это-то понятно. эт проще простого, но дело в том что результат переменной $filename = ...01.mp302.mp3
мне же нужно чтобы было 01.mp3 потом 02.mp3. я же не смогу передать в функцию обработки тегов вместо имени файла ...01.mp302.mp3

(Отредактировано автором: 27 Августа, 2008 - 22:32:39)



-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
pifon1989
Отправлено: 27 Августа, 2008 - 22:40:42
Post Id



Частый гость


Покинул форум
Сообщений всего: 196
Дата рег-ции: Май 2008  


Помог: 0 раз(а)




Как эт так 0.о
$filename всегда будет равняться следующему файлу в списке перебора циклом, она каждый раз будет перезаписываться.


-----
Ассемблер для Чайников
Всем любителям Pascal посвящается:
function writeln($text) {echo '<br>'.$text};
 
 Top
Viper
Отправлено: 28 Августа, 2008 - 00:25:55
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




вот так. даже сам не знаю почему так выводит. что с циклом что без результат как приведённый выше.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Вездеход
Отправлено: 28 Августа, 2008 - 09:16:44
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008  
Откуда: Россия


Помог: 0 раз(а)




pifon1989 пишет:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. // открываем папку
  3. $dh = opendir("адрес папки");
  4. while($filename = readdir($dh))
  5. {
  6. // любые операции с вашим файлом, например
  7. $fs = filesize($filename);
  8. $ft = filetype($filename);
  9. echo "Имя: ".$filename."\nРазмер: ".$fs."\nТип:".$ft;
  10. }
  11. ?>


не лучший способ открывать каталог...
нунжо вот так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. /* ... */
  3. while (false !== ($filename=readdir($dh))) {
  4. /* ... */
  5. }
  6. ?>

http://php.su/functions/?readdir


-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
pifon1989
Отправлено: 28 Августа, 2008 - 10:56:24
Post Id



Частый гость


Покинул форум
Сообщений всего: 196
Дата рег-ции: Май 2008  


Помог: 0 раз(а)




Viper пишет:
вот так. даже сам не знаю почему так выводит. что с циклом что без результат как приведённый выше.

Это невозможно. Ну, или, по крайней мере, такого не должно быть, ибо, конечно, компьютер такая вещь, что порой бывает возможно всё. Улыбка
Протестируйте представленный мной выше вариант скрипта и выведите пожалуйста результат.
Попробуем решить вашу проблему.

(Отредактировано автором: 28 Августа, 2008 - 10:57:05)



-----
Ассемблер для Чайников
Всем любителям Pascal посвящается:
function writeln($text) {echo '<br>'.$text};
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB