За последние 24 часа нас посетили 15978 программистов и 1549 роботов. Сейчас ищут 947 программистов ...

как указать еще один 1 путь для скачивания файла?

Тема в разделе "Прочие вопросы по PHP", создана пользователем fdahtc, 6 окт 2015.

  1. fdahtc

    fdahtc Новичок

    С нами с:
    6 окт 2015
    Сообщения:
    7
    Симпатии:
    0
    Как добавить к стандартному пути define ( 'FILE_DIR', '../uploads/files/' ); в файле download.php такой путь define ( 'FILE_DIR', '../uploads/files/1/' ); ?Чтобы с обеих папок скрипт мог отдавать пользователям файлы!
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    так оно не работает. код покажи.
     
  3. fdahtc

    fdahtc Новичок

    С нами с:
    6 окт 2015
    Сообщения:
    7
    Симпатии:
    0
    Код (PHP):
    1. <?php
    2. /*
    3. =====================================================
    4.  DataLife Engine - by SoftNews Media Group 
    5. -----------------------------------------------------
    6.  http://dle-news.ru/
    7. -----------------------------------------------------
    8.  Copyright (c) 2004,2015 SoftNews Media Group
    9. =====================================================
    10.  Данный код защищен авторскими правами
    11. =====================================================
    12.  Файл: download.php
    13. -----------------------------------------------------
    14.  Назначение: Скачивание файлов
    15. =====================================================
    16. */
    17. define ( 'DATALIFEENGINE', true );
    18. define ( 'FILE_DIR', '../uploads/files/');
    19. define ( 'ROOT_DIR', '..' );
    20. define ( 'ENGINE_DIR', ROOT_DIR . '/engine' );
    21.  
    22. @error_reporting ( E_ALL ^ E_NOTICE );
    23. @ini_set ( 'display_errors', true );
    24. @ini_set ( 'html_errors', false );
    25. @ini_set ( 'error_reporting', E_ALL ^ E_NOTICE );
    26.  
    27. require ENGINE_DIR . '/data/config.php';
    28.  
    29. date_default_timezone_set ( $config['date_adjust'] );
    30.  
    31. if ($config['http_home_url'] == "") {
    32.     
    33.     $config['http_home_url'] = explode ( "engine/download.php", $_SERVER['PHP_SELF'] );
    34.     $config['http_home_url'] = reset ( $config['http_home_url'] );
    35.     $config['http_home_url'] = "http://" . $_SERVER['HTTP_HOST'] . $config['http_home_url'];
    36.  
    37. }
    38.  
    39. require_once ENGINE_DIR . '/classes/mysql.php';
    40. require_once ENGINE_DIR . '/data/dbconfig.php';
    41. require_once ENGINE_DIR . '/modules/functions.php';
    42.  
    43. dle_session();
    44.  
    45. require_once ENGINE_DIR . '/modules/sitelogin.php';
    46. require_once ENGINE_DIR . '/classes/download.class.php';
    47.  
    48. function reset_url($url) {
    49.     $value = str_replace ( "http://", "", $url );
    50.     $value = str_replace ( "https://", "", $value );
    51.     $value = str_replace ( "www.", "", $value );
    52.     $value = explode ( "/", $value );
    53.     $value = reset ( $value );
    54.     return $value;
    55. }
    56.  
    57. function clear_url_dir($var) {
    58.     if ( is_array($var) ) return "";
    59.     
    60.     $var = str_ireplace( ".php", "", $var );
    61.     $var = str_ireplace( ".php", ".ppp", $var );
    62.     $var = trim( strip_tags( $var ) );
    63.     $var = str_replace( "\\", "/", $var );
    64.     $var = preg_replace( "/[^a-z0-9\/\_\-]+/mi", "", $var );
    65.     return $var;
    66.     
    67. }
    68.  
    69. //################# Определение групп пользователей
    70. $user_group = get_vars ( "usergroup" );
    71.  
    72. if (! $user_group) {
    73.     
    74.     $user_group = array ();
    75.     
    76.     $db->query ( "SELECT * FROM " . USERPREFIX . "_usergroups ORDER BY id ASC" );
    77.     
    78.     while ( $row = $db->get_row () ) {
    79.         
    80.         $user_group[$row['id']] = array ();
    81.         
    82.         foreach ( $row as $key => $value ) {
    83.             $user_group[$row['id']][$key] = $value;
    84.         }
    85.     
    86.     }
    87.     
    88.     set_vars ( "usergroup", $user_group );
    89.     $db->free ();
    90.  
    91. }
    92.  
    93. if (! $is_logged) {
    94.     $member_id['user_group'] = 5;
    95. }
    96.  
    97. if (! $user_group[$member_id['user_group']]['allow_files'])
    98.     die ( "Access denied" );
    99.  
    100. if ($config['files_antileech']) {
    101.     
    102.     $_SERVER['HTTP_REFERER'] = reset_url ( $_SERVER['HTTP_REFERER'] );
    103.     $_SERVER['HTTP_HOST'] = reset_url ( $_SERVER['HTTP_HOST'] );
    104.  
    105.     if ($_SERVER['HTTP_HOST'] != $_SERVER['HTTP_REFERER']) {
    106.         @header ( 'Location: ' . $config['http_home_url'] );
    107.         die ( "Access denied!!!<br /><br />Please visit <a href=\"{$config['http_home_url']}\">{$config['http_home_url']}</a>" );
    108.     }
    109.  
    110. }
    111.  
    112. $id = intval ( $_REQUEST['id'] );
    113.  
    114. if ($_REQUEST['area'] == "static")
    115.     $row = $db->super_query ( "SELECT name, onserver FROM " . PREFIX . "_static_files WHERE id ='{$id}'" );
    116. else
    117.     $row = $db->super_query ( "SELECT name, onserver FROM " . PREFIX . "_files WHERE id ='{$id}'" );
    118.  
    119. if (! $row)
    120.     die ( "Access denied" );
    121.  
    122. $url = @parse_url ( $row['onserver'] );
    123.  
    124. $file_path = dirname (clear_url_dir($url['path']));
    125. $file_name = pathinfo($url['path']);
    126. $file_name = totranslit($file_name['basename'], false);
    127.  
    128. if ($file_path AND $file_path != ".") $file_name = $file_path."/".$file_name;
    129.  
    130. $file = new download ( FILE_DIR . $file_name, $row['name'], $config['files_force'], intval($user_group[$member_id['user_group']]['files_max_speed']) );
    131.  
    132. if ($_REQUEST['area'] == "static") {
    133.     
    134.     if ($config['files_count'] and ! $file->range)
    135.         $db->query ( "UPDATE " . PREFIX . "_static_files SET dcount=dcount+1 WHERE id ='$id'" );
    136.  
    137. } else {
    138.     
    139.     if ($config['files_count'] and ! $file->range)
    140.         $db->query ( "UPDATE " . PREFIX . "_files SET dcount=dcount+1 WHERE id ='$id'" );
    141.  
    142. }
    143.  
    144. $db->close ();
    145.  
    146. $file->download_file();
    147. ?>
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    окей, вопрос номер два. не проще ли сразу давать ссылку типа /1/file?
     
  5. fdahtc

    fdahtc Новичок

    С нами с:
    6 окт 2015
    Сообщения:
    7
    Симпатии:
    0
    нужно,чтобы с обеих папок качал,так как если заменить uploads/files/ на uploads/files/1/ , то все то,что в папке uploads/files/ не будет доступно для скачивания(
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ты не понял вопроса. почему ссылку на скачивание ни дать бы типа /1/file? а не просто /file как ты даёшь сейчас?
     
  7. fdahtc

    fdahtc Новичок

    С нами с:
    6 окт 2015
    Сообщения:
    7
    Симпатии:
    0
    я может не понимаю чего-то...как именно это сделать?папка 1 лежит внутри .../uploads/file/
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    покажи ссылку на скачивание файла, которая на страничке человеку показывается?
     
  9. fdahtc

    fdahtc Новичок

    С нами с:
    6 окт 2015
    Сообщения:
    7
    Симпатии:
    0
    http://media.energy/engine/download.php?id=2677 к примеру.
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    хм. Тогда какой смысл делать две папки, если одни хрен файлы по номеру отдаются?
     
  11. fdahtc

    fdahtc Новичок

    С нами с:
    6 окт 2015
    Сообщения:
    7
    Симпатии:
    0
    Была установлена система,ubuntu,на ней кончилось место,и так как lvm`ом было влом расширять жд,я его просто примонтировал в папку,а буквально сегодня заметил,что все,что было в нее закачано невозможно скачать,так как скрипт download.php читает путь со старого жд и отдает файлы только с него.А сейчас все на новый жд уже как неделю качается,поэтому нужно второй путь прописать.
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  13. fdahtc

    fdahtc Новичок

    С нами с:
    6 окт 2015
    Сообщения:
    7
    Симпатии:
    0
    Никто не знает чтоли как это сделать?
     
  14. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Просто не делай так