Файловый архив

Собсна вот что получилось:
Открываем файл <b>downloads.php</b>
Находим строчку:<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->require_once "maincore.php";<!--c2--></div><!--ec2-->
Добавляем ниже:<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->if (isset($download_id) && isNum($download_id)) {
&nbsp;&nbsp;&nbsp;&nbsp;$res = 0;
&nbsp;&nbsp;&nbsp;&nbsp;if ($data = dbarray(dbquery("SELECT download_url,download_cat FROM ".$db_prefix."downloads WHERE download_id='$download_id'"))) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$cdata = dbarray(dbquery("SELECT * FROM ".$db_prefix."download_cats WHERE download_cat_id='".$data['download_cat']."'"));
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (checkgroup($cdata['download_cat_access'])) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$res = 1;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$result = dbquery("UPDATE ".$db_prefix."downloads SET download_count=download_count+1 WHERE download_id='$download_id'");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!file_exists($data['download_url'])) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;header ("HTTP/1.0 403 Forbidden");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;header("HTTP/1.1 200 OK");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;header("Content-Disposition: attachment; filename=" . basename($data['download_url']));
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;header("Content-Length: ".filesize($data['download_url']));
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;header("Content-type: application/octet-stream");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print file_get_contents($data['download_url']);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;if ($res == 0) redirect("downloads.php");
}<!--c2--></div><!--ec2-->

Находим далее:<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->include LOCALE.LOCALESET."downloads.php";<!--c2--></div><!--ec2-->
Удаляем лишние ниже, до строки:<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->if (!isset($cat_id)) {<!--c2--></div><!--ec2-->

Вот вообщем-то и все... :thumbsup:
 
Ок, спасибо, сейчас попробую ;)

хм, возникла проблемка со скачиванию файлов, которые лежат на другом хосте :unhappy:
Вот пример где другой хост - <a href="http://pronets.ru/downloads.php?view=210" target="_blank">http://pronets.ru/downloads.php?view=210</a>
А вот где всё нормально - <a href="http://pronets.ru/downloads.php?view=111" target="_blank">http://pronets.ru/downloads.php?view=111</a> - так как файл на сервере этом же.

Вообщем возникает ошибка - <b>Ошибка 403</b>
Сейчас верну обратно старый файлик, пока с этой проблемкой не разберёмся ;)
 
С файлами которые на другом сервере, так и должно быть. Скрыть ссылку на файлы другого сервера наверное не получится (впрочем нада подумать)...
Скрипт действительно расчитан только на файлы "домашнего" сервера.

PS Я почему то посчитал что у тебя все файлы на Pronets лежат... :unsure:
 
так как арямуб ссылку скрыть? у меня тде софт на другом хосте.

блин я пьян. сорри за ошибки
 
Сверху