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]   

> Без описания
daglas1
Отправлено: 05 Июля, 2012 - 00:16:51
Post Id


Посетитель


Покинул форум
Сообщений всего: 329
Дата рег-ции: Июль 2011  


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




Всем привет.
Собаственно по сабжу. Есть сайт на котором я в корневом каталоге держу музыку в виде мп3 файлов. В бд есть их названия. Динамически я формирую линки на них и внедряю эти линки в плеер. Но у меня плеер не видит песен с кирилическими названиями и мало того даже скачать я эти песни не могу. Хотя с аглицкими песнями все гуд и плеер ихз видет и по прямой ссылку я могу их скачать.
http://music100[dot]info/mpcheck.php - вот скрипт набросал который пишет сколько файлов всего на хостинге и соклько он может через БД отловить.
Код вот такой получился
PHP:
скопировать код в буфер обмена
  1.  
  2. $c=0;
  3. header("Content-Type: text/html; charset=UTF-8");
  4. foreach (glob("*.mp3") as $filename) {
  5.  
  6.   //  echo "$filename\n";
  7.  // if ($filename==$g['a3']." - ".$g['a6']."."."mp3") {$raz=1;}
  8.  $c=$c+1;
  9.  echo $filename."<br>";
  10. }
  11. echo "mp3 files total=".$c;
  12. echo "<br>==========================================";
  13. $cс=0;
  14.         mysql_set_charset('utf8');
  15. $rg=mysql_query("select * from compoz");
  16. while ($g=mysql_fetch_array($rg))
  17.                                 {      
  18.         $raz=0;
  19. foreach (glob("*.mp3") as $filename) {
  20.  
  21.   if ($filename==$g['a3']." - ".$g['a6']."."."mp3") {
  22.                                                                                                 echo $filename."<br>";
  23.                                                                                                 $cс=$cс+1;
  24.                                                                                                 echo $cc;
  25.  
  26.                                                 }
  27. }
  28.        
  29.                        
  30.                                 }
  31.                                 echo "recognized mp3 files total=".$cc;
  32.                                 echo "===============================================================================";
  33.  
  34. Чмод выставил на файлы 654 а все равно непонятки с файлами.
  35.  
 
 Top
Okula
Отправлено: 05 Июля, 2012 - 05:00:30
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


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




daglas1, попробуй так:
PHP:
скопировать код в буфер обмена
  1. $i=0;
  2. $rg=mysql_query("SELECT * FROM `compoz`");
  3. if(mysql_num_rows($rg) != 0) {
  4.     while ($g=mysql_fetch_array($rg)) {
  5.     if(is_file($file = urlencode($g['a3']." - ".$g['a6']."."."mp3"))) {
  6.         echo $file.'<br/>';
  7.         $i++;
  8.     }
  9.     }
  10. }
  11. echo 'Добавлено файлов: '.$i;

(Добавление)
У тебя имена файлов которые кирилицей записаны в кодировке windows-1251, а работаешь ты в кодировке utf-8 вот и не совпадают имена файлов.

(Отредактировано автором: 05 Июля, 2012 - 05:01:57)

 
 Top
DeepVarvar Супермодератор
Отправлено: 05 Июля, 2012 - 06:35:24
Post Id



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


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


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




Добавлю что если рассматривать имена файлов в ФС под виндой, то вроде даже не цп1251.
А вот что по поводу ID3 тегов внутри этих мп3 файлов, то по стандарту они должны быть в utf-8, однако, особо одаренные виндузятники, на особо одаренных виндозных прогах пишут эти теги в цп1251, это стопудово, ну и естессно в виндовой среде плеера как-то через пень-колено понимают что там написано. А вот в других ОСях мы видим кракозябло...
Велком ту ад кароче...
 
 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