DLE. Как сделать скачивание файла на отдельной странице?

Z
На сайте с 13.12.2009
Offline
452
6323

Есть сайт, на нем лежат файлы для скачивания, но не аттачами, а с прямыми ссылками, типа http://site.ru/folder/file.rar

Как сделать, чтоб по клику на ссылку на скачивание, открывалась отдельная страница, на которой можно разместить рекламу или еще что-нить и там уже была ссылка на конечный файл.

Для аттачментов есть модули типа downpage, но они не подходят, т.к. на сайте прямые ссылки.

Консультации, seo-аудиты - https://seo-consulting.su Профессионально и без воды
GS
На сайте с 20.03.2013
Offline
24
#1

Есть такой модуль dude smart leech, правда придётся его немного допилить..

------------------
Z
На сайте с 13.12.2009
Offline
452
#2

дуде смарт лич это делает для внешних ссылок... а у меня прямые ссылки с этого же сайта

GS
На сайте с 20.03.2013
Offline
24
#3

я же написал допилить придётся, а так конечно по умолчанию он немного другие функции выполняет

siv1987
На сайте с 02.04.2009
Offline
427
#4

Прямые ссылки переделать под не прямые - /reklama.php?http://site.ru/folder/file.rar, иначе никак. Можно на javascript-е функцию сварганить, но сами понимаете сейчас его отключать в два клика даже школьники научились.

Z
На сайте с 13.12.2009
Offline
452
#5

GoldSolution, сможете допилить?

siv1987, да тут как бы не проблема, что можно отключить. На самом деле все проще... Накрутить глубину просмотров, плюс тизеры активнее будут кликать (наверное)

Вопрос тут скорее в другом :) как это сделать? МОжет есть готовые модули или что-то типа того. Я просто в кодерстве не сильно понимаю :)

дани мапов
На сайте с 06.09.2012
Offline
204
#6
zusull:
Есть сайт, на нем лежат файлы для скачивания, но не аттачами, а с прямыми ссылками, типа http://site.ru/folder/file.rar
Как сделать, чтоб по клику на ссылку на скачивание, открывалась отдельная страница, на которой можно разместить рекламу или еще что-нить и там уже была ссылка на конечный файл.

Для аттачментов есть модули типа downpage, но они не подходят, т.к. на сайте прямые ссылки.

Использовать на свой страх и риск :-)

В htacess после строки RewriteEngine On вставляем

RewriteRule ^(.*).(rar|zip)$ /download.php?file=$1.$2 [R,L]

Ссылка на файл download.php http://dropmefiles.com/Sqn14

download.php:


<?php
session_start();
if (isset($_GET['file'])) {
$file=$_GET['file'];
$filetypes = array("rar","zip");
if (!in_array(substr($file, -3), $filetypes)) {
echo "Invalid download type.";
exit;
}

if(isset($_SESSION['download']))
{
if ($fd = fopen ($file, "r")) {
$fsize = filesize($file);
$path_parts = pathinfo($file);
header("Content-type: application/octet-stream");
header('Content-Disposition: filename="'.$path_parts["basename"].'"');
header("Content-length: $fsize");
header("Cache-control: private");
while(!feof($fd)) {
$buffer = fread($fd, 2048);
echo $buffer;
}
unset($_SESSION['download']);
}
fclose ($fd);
exit;
} else
$_SESSION['download'] = true;

?>

ТУТ РЕКЛАМА ТУТ РЕКЛАМА ТУТ РЕКЛАМА ТУТ РЕКЛАМА ТУТ РЕКЛАМА ТУТ РЕКЛАМА ТУТ РЕКЛАМА ТУТ РЕКЛАМА

<br>
<br>
<a href="<?php echo htmlentities($file); ?>">скачать файл</a>
<?php
}
Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
siv1987
На сайте с 02.04.2009
Offline
427
#7


<script type="text/javascript">
$('a').each(function(){
attr = $(this).attr('href');
if(attr.indexOf('/folder/')!=-1){
$(this).attr('href', '/reklama.php?'+escape(attr));
}
});
</script>
Z
На сайте с 13.12.2009
Offline
452
#8

дани мапов, ваш вариант работает.. но только 1 раз... Если еще раз кликнуть на скачивание, то фал просто скачается, не открывая страницу с рекламой

дани мапов
На сайте с 06.09.2012
Offline
204
#9
zusull:
дани мапов, ваш вариант работает.. но только 1 раз... Если еще раз кликнуть на скачивание, то фал просто скачается, не открывая страницу с рекламой

Работает нормально, вы просто на странице с рекламой не кликаете по ссылке "скачать" - это надо сделать обязательно, а закрываете ее. А пользователь не будет так делать, ему же надо скачать файл.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий