Проблема с слешами в php

Discussion in 'PHP' started by andreipup, 3 Mar 2010.

  1. andreipup

    andreipup Elder - Старейшина

    Joined:
    21 Aug 2007
    Messages:
    265
    Likes Received:
    21
    Reputations:
    0
    del

    del
     
    #1 andreipup, 3 Mar 2010
    Last edited: 4 Mar 2010
  2. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    Выложи в добавок скрин исходника
     
  3. wildshaman

    wildshaman Elder - Старейшина

    Joined:
    16 Apr 2008
    Messages:
    477
    Likes Received:
    483
    Reputations:
    99
    Покажи кусок кода, где обрабатывается этот самый файл
     
  4. andreipup

    andreipup Elder - Старейшина

    Joined:
    21 Aug 2007
    Messages:
    265
    Likes Received:
    21
    Reputations:
    0
    <?php
    if ($_REQUEST['1'] == '666')
    {
    $file = 'http://www.moisait.ru/123.rar';
    header('Content-length: ' . $filesize);
    header('Content-Disposition: attachment; filename=' . $file);
    header('Content-Type: application/rar; name="' . $file . '"');
    echo file_get_contents($file);
    exit;
    }
    ?>
    <html><head>

    Уже что тока не пробовал псих берет
    Помогите плиз
     
    #4 andreipup, 3 Mar 2010
    Last edited: 3 Mar 2010
  5. fokinkostya

    fokinkostya New Member

    Joined:
    28 Feb 2010
    Messages:
    1
    Likes Received:
    4
    Reputations:
    0
    Все верно. В имени файла не могут быть слеши. Они заменяются на нижние подчеркивания.
     
  6. andreipup

    andreipup Elder - Старейшина

    Joined:
    21 Aug 2007
    Messages:
    265
    Likes Received:
    21
    Reputations:
    0

    Помоги плиз как правильно прописать я уже не знаю че и делать(((
     
  7. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    Тебе русским языком сказали что нельзя, возми у себя на компе попробуй создать файл с слешами и другими спец символами.

    [​IMG]
     
  8. [ac1D]

    [ac1D] Banned

    Joined:
    6 Dec 2009
    Messages:
    44
    Likes Received:
    27
    Reputations:
    0
    Решение идиотское но попробуй:
    PHP:
    $link str_replace("_",'"/"',$link);
    /// bla bla bla
     
  9. Deathdreams

    Deathdreams Elder - Старейшина

    Joined:
    8 Nov 2008
    Messages:
    342
    Likes Received:
    116
    Reputations:
    5
    не
    Code:
    header('Content-Type: application/rar; name="' . $file . '"');
    header('Content-Disposition: attachment; filename=' . $file);
    
    а
    Code:
    header('Content-Type: application/rar; name="' . basename($file) . '"');
    header('Content-Disposition: attachment; filename=' . basename($file) );
    
     
  10. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    почему идиотское - нормальное решение, так и делать при отображении ссылки
     
  11. [ac1D]

    [ac1D] Banned

    Joined:
    6 Dec 2009
    Messages:
    44
    Likes Received:
    27
    Reputations:
    0
    Pashkela, я просто сходу придумал, думаю есть более эффективные методы
     
  12. andreipup

    andreipup Elder - Старейшина

    Joined:
    21 Aug 2007
    Messages:
    265
    Likes Received:
    21
    Reputations:
    0
    Извините за тупость куда ссылку тут вставлять
    Пример приведите

    <?php
    if ($_REQUEST['1'] == '666')
    {
    $file = 'http://www.moisait.ru/123.rar';
    header('Content-length: ' . $filesize);
    header('Content-Disposition: attachment; filename=' . $file);
    header('Content-Type: application/rar; name="' . $file . '"');
    echo file_get_contents($file);
    exit;
    }
    ?>
    <html><head>
     
  13. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    в теме уже был правильный ответ от Deathdreams:

    PHP:
    <?
    $file 'http://bug-track.ru/prog/toolza1.0.rar';
    header('Content-length: ' $filesize);
    header('Content-Disposition: attachment; filename=' basename($file));
    header('Content-Type: application/rar; name="' basename($file) . '"');
    echo 
    file_get_contents($file);
    ?>
     
  14. andreipup

    andreipup Elder - Старейшина

    Joined:
    21 Aug 2007
    Messages:
    265
    Likes Received:
    21
    Reputations:
    0
    Не помогло(
    Я уже это проверил.
    Подскажите как правильно вставить в код это

    PHP:
     $link str_replace("_",'"/"',$link);
    /// bla bla bla
     
    #14 andreipup, 4 Mar 2010
    Last edited: 4 Mar 2010
  15. Deathdreams

    Deathdreams Elder - Старейшина

    Joined:
    8 Nov 2008
    Messages:
    342
    Likes Received:
    116
    Reputations:
    5
    Руками, как ещё ?
     
  16. andreipup

    andreipup Elder - Старейшина

    Joined:
    21 Aug 2007
    Messages:
    265
    Likes Received:
    21
    Reputations:
    0
    Пожалуйста не издевайся,а покажи на примере вот на этом коде.
    Я просто второй день еб... с этим кодом не знаю че и делать(

    <?php
    if ($_REQUEST['1'] == '666')
    {
    $file = 'http://www.moisait.ru/123.rar';
    header('Content-length: ' . $filesize);
    header('Content-Disposition: attachment; filename=' . $file);
    header('Content-Type: application/rar; name="' . $file . '"');
    echo file_get_contents($file);
    exit;
    }
    ?>
    <html><head>
     
  17. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    а у меня работает и на денвере и на vds
     
  18. andreipup

    andreipup Elder - Старейшина

    Joined:
    21 Aug 2007
    Messages:
    265
    Likes Received:
    21
    Reputations:
    0
    Как же правильно вставить этот кусок кода?

    HTML:
     $link = str_replace("_",'"/"',$link);
    /// bla bla bla 
     
  19. andreipup

    andreipup Elder - Старейшина

    Joined:
    21 Aug 2007
    Messages:
    265
    Likes Received:
    21
    Reputations:
    0
    Выручите плиз)
     
  20. fokinkostya

    fokinkostya New Member

    Joined:
    28 Feb 2010
    Messages:
    1
    Likes Received:
    4
    Reputations:
    0
    У тебя имя файла представляет из себя ссылку. В ссылке слеши, слеши в именах файла запрещены! Можешь извлечь из ссылки имя файла и вставить его в нужное место.

    PHP:
    <?php
    if ($_REQUEST['1'] == '666')
    {
    $file 'http://www.moisait.ru/123.rar';
    header('Content-length: ' $filesize);
    header('Content-Disposition: attachment; filename=' basename($file));
    header('Content-Type: application/rar; name="' basename($file) . '"');
    echo 
    file_get_contents($file);
    exit;
    }
    ?>
     
    #20 fokinkostya, 5 Mar 2010
    Last edited: 5 Mar 2010