Вырезать средствами php ненужные спецсимволый в ссылке

Тема в разделе "Как сделать...", создана пользователем pilot233, 27 янв 2015.

Статус темы:
Закрыта.
  1. pilot233

    pilot233

    Регистр.:
    24 июн 2006
    Сообщения:
    405
    Симпатии:
    88
    Привет Всем!

    Кто спецы по php вот проблемка нарисовалась есть музыкальный сайт (поисковик) и если кто-то назване песни копирует откуда-то и вставляет у меня на сайт и ищет то дальше все происходит нормально он получает, что хочет и если хочет скачать он качает и вот тут касяк. Если в поиске были символы # и / то файл он не находит (файл тянет удаленно), а если просто даже в строке удалить этот символ все нормально. Заметил я это все Гугле мастере в кабинете ошибки посыпались на страницу скачки. Стал разбираться и понял какой символ мешает в .htaccess вот такая строка отвечает за скачивание RewriteRule ^download/([^/]*)-([^/]*).mp3$ download.php?download=$2&pl=$1 (ну еще есть естественно файл который отвечает за это дело). Как вырезать эти спец симфолы. Говорил в другой ветке сказали надо копать в файле который отвечает за загрузку (который формирует ссылку на скачку). Если-бы все в базу писалось можно было-бы почистить а так сразу создается динамический sitemap и пингуется и тут-же в Гугл.

    Пример: download/JuicyLand #073-174685333.mp3 в этом примере символ # не дает скачать если его удолить все норм

    Файлик приложил.

    Всем спасибо!!!
     

    Вложения:

    • download.7z
      Размер файла:
      1,6 КБ
      Просмотров:
      2
  2. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    205
    Симпатии:
    259
    PHP:
    $filename  strip_tags(urldecode($get_name->title));
    if( empty(
    $filename) ){
          
    $filename $d_id;
    }
    $filename  $pl;
    Не понял смысла, если в итоге все равно $filename = $pl;

    А вообще, похоже, достаточно добавить str_replace перед header:
    PHP:
    $filename str_replace( array('#''/'), ''$filename);
    header("location: ".$GLOBALS["sys"]->get_url()."download/".$filename."-".$id.".mp3");
     
    pilot233 нравится это.
  3. pilot233

    pilot233

    Регистр.:
    24 июн 2006
    Сообщения:
    405
    Симпатии:
    88
    Спасибо друг вроди как помогло я так понимаю туда если чего по аналогии можно добавлять и другие символы которые будут мешать. Я не знаю какая тут теперь кнопка спасибо но нажал "Мне нравиться" может это она. Только вот заметил это исправление действует к вновь сформированной ссылке, а старые также видут в никуда. Т.е в Гугле в кабинете я перешел по ссылкам (они у меня были в ошибках) где были эти символы и соответственно они останутся ошибками. Всерано круто теперь новых не будет.
     
Статус темы:
Закрыта.