aftamat4ik

Рейтинг
55
Регистрация
05.01.2012
Интересы
php + Drupal
программист недосамоучка

Вы билин не поверите - под файерфоксом ВСЕ! играет о_0 То есть под хромом не играет, а вот под фаерфокс вполне можно послушать музыку. Вопрос - Какого?..😕😕) Так...

Я вообще в осадочном состоянии разлагаюсь на мелкие малекулы моска.

Знач так. Урл песни под firefox(firebug) :

/audio/Катарсис/Воин Света/Катарсис - Вечный Странник.mp3

вот что дает хромиум(тот же урл):

/audio/%D0%94%D0%BE%D0%BC%20%D0%92%D0%B5%D1%82%D1%80%D0%BE%D0%B2/%D0%9A%D0%B8%D1%82%D0%BE%D0%B1%D0%BE%D0%B9/%D0%94%D0%BE%D0%BC%20%D0%92%D0%B5%D1%82%D1%80%D0%BE%D0%B2%20-%20%D0%BE%D0%B3%D0%BE%D0%BD%D1%8C.mp3

такэ. в общем конечно ясно что urlencode и urldecode...

есть возможность на стороне сервера все урл песен обработать через urlencode, и я бы это все сделал. Но загвоздка в том, что треки добавляются динамически через ajax.

Когда страница загружается $(document).ready(бла бла бла...

Выполняется аякс запрос к файлу(который собственно и дает нам список песен)

Предположим в этом файле код:

echo "<li><a href="/audio/песня.mp3l">песня.mp3</a></li> и тут дальше еще много таких-же";

аякс делается примерно так

$.ajax({

//тут урл к файлу и начальные данные

}).done(function(data){//в данный момент data = <li><a href="/audio/песня.mp3l">песня.mp3</a></li>

//после чего

elem = $(data);

$("ul#list").append(elem);//добавляем элемент на страницу

});

Это примитивнейший пример, на самом деле все в разы сложнее, но писать тут 50 страниц я не хочу)

Вопрос: КАК применить javascrit функцию decodeURIComponent(урл) к списку песен, сформированному через аякс метод?)))

То есть если мы напишем

newurl = urlencode($('ul#list li a').attr('href'));

$('ul#list li a').attr('href',newurl);

- это вообще все к чертовой китайской бабушке испортит.

У всех треков на странице становится 1 урл - newurl(тут я не удивляюсь), но оно не играет. вообще не воспроизводит его хром ((

Короче тупик ребята. Кто знает как с этим бороться, напишите пожалуйста)

___________________________________________________

Знаете о чем я мечтаю - вставлять php код в яваскрипт...

bndr:
Это самый оптимальный вариант. Все переделайте в транслит и не будет проблем.

да, я сам так хотел, честно. но беспокоюсь что при расшифровке транслита будут бяки вида ja=йа(надо я)

---------- Добавлено 11.06.2012 в 21:42 ----------

Liave:
и в результате что вы будете делать ? ) я что то не вкурю с каким советом вы согласились )))

Исчу функцию пхп по переименовыванию файлофф. то есть уже нашел - rename. теперь кой чего подправлю, авось сгодится)

---------- Добавлено 11.06.2012 в 22:25 ----------

bndr:
Как это упрощает работу, если у вас УЖЕ проблемы? В место того чтобы сделать все с нормальной базой данных(Куда можно добавить и id, и название, и перевод, и текст и т.д) вы решили все сделать через жопу

Дошло что вы имели в виду, медленно конечно...)) Нет, вы ошибаетесь, проект сделан не на файлах, есть скрипт, который полностью сканирует папку/audio/ и заносит названия всех треков, альбомов и исполнителей в базу данных. Например таблица songs имеет структуру вида: id songname url hits album author

где хитс - число прослушиваний... Урл, при размещении на сайте берется из бд простеньким запросом. После чего отправляется аяксом на страницу. Примерно такой там код:

echo "<li><a href='".$row['url']."'>".$row['title']."</a><li>";

Тут косяков ясное дело вообще нет. косяк у меня оказался в скрипте сканирующем папку с файлами(название совершено секретно + он в папке запаролен хтакессом отдельным хДД). там такой код есть(да да я его написал и теперь правлю хД) $title=substr(дальше вы знаете)

после чего идет запрос такого вида: insert into `songs`(title,url,и прочее) values('".$title."'....."

Вот потому я так и написал выше)) сори за непонимание в самом начале))

Ну как бы mysql, и не надо холивар открывать на тему какая бд лучше. Мне на это начхать. Есть у меня поле Ид в таблице(ключевое авто инкремет). Ну скажем так, то есть вы предлагаете дать песням названия по ид, типа /audio/1.mp3 а ее название в бд самому прописать?, то есть все песенки катарсиса арии и майданова...и т.п. ручками ковать?, их ок 1000) не это не легче, на самом деле не легче...

---------- Добавлено 11.06.2012 в 21:37 ----------

Да это вариант, как не странно. Вчитался, понял в чем суть)) В общем то сложного нету, можно и покодить)) Благодарю за совет.

Ну сейчас вообще мало кто работал с аякс хешированием и созданием такого рода проектов) Все я на пхп.ру)

кхм, ну хороше, но трудоемко это - сессию пропущу, и не продуктивно, и вообще не так быть должно хДД

И? Ну конечно так прощще, но проблемма то в том, что я не желаю хранить в базе данных русское название песни и ее англоязычное имя в поле. Я делаю так, примерно substring(тут имя файла, тут dirname(__FILE__)./и путь до папки с записью,-4). -4 уберает с конца .mp3 - в разы, я бы сказал в тысячу раз упрощает работу. К тому-же админки у сайта в природе не существует-> отсюда следует, что придется все(пока ок 1000 файлов) прописывать в базе через пхпмайадмин или скрипт, где в соответствии русскому имени ставить ее английское имя.

_______________

А вам слабо*? хДД

Всего: 145