Страница для скачки

Тема в разделе "JavaScript", создана пользователем Nekit0sina, 8 фев 2017.

  1. Nekit0sina

    Nekit0sina

    Регистрация:
    8 фев 2017
    Сообщения:
    4
    Симпатии:
    0
    есть код отдельной страницы для скачивания файлов:

    <?php
    $time = 60;//Задержка в секундах
    $link = 'http://www.site.ru/file.rar';//Сюда надо каким-то макаром подставлять ссылку на скачивание файла
    ?>
    <!DOCTYPE HTML>
    <html>
    <head>
    <title>Загрузка файла</title>
    <script type="text/javascript" language="javascript">
    function countdownRedirect()
    {
    var TARG_ID = "count_red";
    var e = document.getElementById(TARG_ID);
    var cTicks = parseInt(e.innerHTML);
    var timer = setInterval(function()
    {
    if( cTicks > 0 )
    {
    e.innerHTML = cTicks--;
    }
    else
    {
    clearInterval(timer);
    location.replace("<?php echo $link; ?>");
    }
    }, 1000);
    }
    </script>
    </head>
    <body onload="countdownRedirect();">
    <div style="display:block;border:1px solid orange;margin:20px 5px;padding:10px;">
    <center>
    ТУТ ПОКАЗЫВАЕМ РЕКЛАМУ
    </center>
    </div>

    <center>
    <strong>Загрузка файла начнется через <span class="counter" id="count_red"><?php echo $time; ?></span> сек.</strong>
    </center>
    </body>
    </html>



    как можно сделать автоматическую смену ссылок для скачки
     
  2. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
  3. Nekit0sina

    Nekit0sina

    Регистрация:
    8 фев 2017
    Сообщения:
    4
    Симпатии:
    0
    ссылки с моего сайта
     
  4. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Вот и берите их автоматом со своего сайта :Biggrin:
    Вас такой ответ устраивает? А если не устраивает, то дайте нормальный ответ на вопрос, откуда берутся ссылки: они хранятся в базе, в текстовом (или ещё каком-то) файле или просто есть директория с файлами и любой из них может быть скачан напрямую, а ссылки нигде не хранятся.
    И независимо от варианта выше есть ещё вопрос, каким образом определяется текущий файл, который надо подставить. То есть, в ссылке на страницу, код которой в первом посте, должен быть какой-то идентификатор определяющий, какой файл необходимо подставить.
     
  5. Nekit0sina

    Nekit0sina

    Регистрация:
    8 фев 2017
    Сообщения:
    4
    Симпатии:
    0
    да, библиотека файлов в WordPress, файлы хранятся на сервере.
    Это и был мой вопрос. Возможно ли это сделать с помощью javascript. нужно что-то на подобии DepositFiles.
    если есть команда которая при выполнении открывает страницу с изменённым кодом страницы(ссылку на фаил можно указывать в коде этой команды)
     
  6. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    У Депозита в ссылке только обезличенный идентификатор, по которому на стороне сервера определяется какой файл выдать для скачивания. Вам в любом случае нужно будет после загрузки этой страницы обращаться аяксом к серверу передавая идентификатор из ссылки, а в ответ получая ссылку на скачивание.
    В общем, для начала вам нужно получить от WP идентификаторы файлов, по которым затем можно будет получить ссылки на эти файлы, а подставить ссылку в этот код - абсолютно не проблема.
     
  7. Nekit0sina

    Nekit0sina

    Регистрация:
    8 фев 2017
    Сообщения:
    4
    Симпатии:
    0
    Это guid? Как его можно узнать?
     
  8. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Нет.
    Если файл прикреплён к посту, можно воспользоваться этим, чтоб получить id прикреплённых файлов - https://codex.wordpress.org/Function_Reference/get_children
    А затем этим, чтоб получить ссылку на файл - https://codex.wordpress.org/Function_Reference/wp_get_attachment_url

    По первой ссылке есть довольно наглядные примеры работы с прикреплёнными файлами.
     
  9. Nekit0sina

    Nekit0sina

    Регистрация:
    8 фев 2017
    Сообщения:
    4
    Симпатии:
    0
    Подскажите где ошибка. В скобки подставил ID cтраницы чтоб проверить работу скрипта ссылка на сраницу:http://games-software.ru/download.html
    Код страницы:

    <?php
    wp_get_attachment_url( 256 );
    ?>
    <?php
    if (isset($_POST['timer']))
    {
    }
    ?>
    <!DOCTYPE HTML>
    <html>
    <head>
    <title>Загрузка файла</title>

    <center><strong >Загрузка файла начнется через <span class="counter"; id="timer"></span> сек.</strong></center>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
    $('a[rel=external]').attr('target','_blank');
    </script>
    <script type="text/javascript"><!--
    var t=6;
    function refr_time()
    {
    if (t>0)
    {
    t--;
    document.getElementById('timer').innerHTML=t;
    } else
    {
    clearInterval(tm);
    location.href='<?php echo wp_get_attachment_url; ?> ';
    }
    }
    var tm=setInterval('refr_time();',1000);
    --></script>


    </head>
    <body onload="countdownRedirect();">
    <div style="display:block;border:1px solid orange;margin:20px 5px;padding:10px;">
    <center>
    ТУТ ПОКАЗЫВАЕМ РЕКЛАМУ
    </center>
    </div>

    <center>


    </center>
    </body>
    </html>
     
  10. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Тут одна сплошная ошибка!
    Для начала, у вас не может быть php кода в файле с расширением html. Но и правильного расширения мало - чтоб wp_get_attachment_url работала вы должны быть в контексте WP, а не полностью самостоятельном файле никак с WP не связанным.

    Вам нужно сделать эту страницу в рамках WP и тогда всё будет работать.
     
  11. Nekit0sina

    Nekit0sina

    Регистрация:
    8 фев 2017
    Сообщения:
    4
    Симпатии:
    0
    http://games-software.ru/603-2/
    все равно не работает, php код в отдельном документе, html код с javascript вставляю в страницу.Я всё ещё не понимаю как можно заменять ID в коде странице (кроме как в ручную).
     
  12. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Ну, так его же надо не через админку вставлять, а сделать шорткод и уже его вставить в админке.