2012-05-01 4 views
1

У меня есть следующая строка, генерирующая mp3-ссылки для музыкального плеера на моем сайте.удаление ненужного запроса из сгенерированной строки url в php

<?php echo $song->getTitle() ?> 

что приводит к /public/music_song/df/74/746b_2112.mp3?c=ec1e

Я хотел бы, чтобы удалить запрос из строки в результате /общественной/music_song /df/74/746b_2112.mp3

Я изучил, как разделить URL-адрес, но я нигде не являюсь гением php, но я не знаю, когда погода разбивается или используется preg_replace или как heck чтобы включить его в мою существующую строку.

Я должен избавиться от этих запросов, они не нужны и ежедневно разбивают мои базы данных.

+2

Если такая вещь происходит сбой базы данных, у вас есть гораздо более серьезная проблема ! – Tibor

+0

Прошу прощения, сами запросы не разбивают базы данных сами по себе, но они более или менее способствуют высокой нагрузке на сервер. В настоящее время я использую AMD x8, 1tb, raid 1, 16 corees 2.0ghz. Я просто оптимизировал таблицы и загрузил от 3.1 до 1.5. Так что все становится лучше. Thx Tibor –

ответ

1
$parsedInput = parse_url('/public/music_song/df/74/746b_2112.mp3?c=ec1e'); 
echo $parsedInput['path']; 
// Results in /public/music_song/df/74/746b_2112.mp3 

Edit: Так как я нету работала с SocialEngine, Im догадываясь, что вам нужно сделать, это:

<?php $parsed = parse_url($song->getFilePath()); 
     echo $this->htmlLink($parsed['path'], 
          $this->string()->truncate($song->getTitle(), 50), 
          array('class' => 'music_player_tracks_url', 
           'type' => 'audio', 
           'rel' => $song->song_id)); ?> 
+0

Спасибо, Пратт! Я дам этому решению выстрел –

+0

Pratt, вы не поможете мне переписать мою функцию ... Я несколько раз пробовал и продолжаю получать ошибки. Вот мой код, как он используется сейчас. ' htmlLink ($ song-> getFilePath(), $ this-> string() -> truncate ($ song-> getTitle(), 50), array ( 'class' = > 'music_player_tracks_url', 'type' => 'audio', 'rel' => $ song-> song_id ))?> ' –

+0

Какое программное обеспечение вы используете? – mpratt

4
list($keep) = explode('?', '/public/music_song/df/74/746b_2112.mp3?c=ec1e'); 
+0

Спасибо за помощь, я просто понимаю, что я представил неверную информацию. Я использую « htmlLink ($ song-> getFilePath(), $ this-> string() -> truncate ($ song-> getTitle(), 50), array ( ' class '=>' music_player_tracks_url ', ' type '=>' audio ', ' rel '=> $ song-> song_id ))?> "и нужно применить взрыв в строку, которая генерирует мой url, т. е. $ this-> htmlLink ($ song-> getFilePath() ". –

+0

Я * угадываю *, что вы захотите поместить' $ song-> getFilePath() 'в функцию' explode() ', чтобы это работало –

+0

Я прошу прощения, я самопровозглашенный новичок. Я все еще учусь. –

Смежные вопросы