Strict Standards: Resource ID#34 used as offset, casting to integer (34) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#36 used as offset, casting to integer (36) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#37 used as offset, casting to integer (37) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: PHP-cтраничка с числом закачек
ТвойWeb » WebMaster класс » PHP/Perl » PHP-cтраничка с числом закачек

Страниц (2): [1] 2 »
 

1. сандро - 15 Февраля, 2004 - 12:26:19 - перейти к сообщению
Мне нужно сейчас выложит у себя на сайте архивчик. Скажите как сделать PHP-страницу, чтобы она пускала только зарегистрированных пользователей на форуме и указывало число закачек архива. В форуме такое не хочу делать, хочу отдельно.
2. TvoyWeb - 15 Февраля, 2004 - 21:52:42 - перейти к сообщению
сандро, у тебя какой форум стоит? IPB ?
3. сандро - 16 Февраля, 2004 - 03:33:31 - перейти к сообщению
1.3
4. TvoyWeb - 16 Февраля, 2004 - 05:02:56 - перейти к сообщению
сандро, значит IPB. Ну скрипт подсчитывающий закачки сделать не трудно, а вот связать зареганных на форуме пользователей и страницу закачек сложнее. Если бы стоял ExBB я может что и смог бы сделать.
5. сандро - 16 Февраля, 2004 - 05:30:09 - перейти к сообщению
Тогда как с закачками быть?
6. TvoyWeb - 16 Февраля, 2004 - 07:29:55 - перейти к сообщению
сандро
Цитата:
Тогда как с закачками быть?

Тебе скрипт нужен? В нете полно этих скриптов.
Могу поделиться скриптом которым сам пользуюсь.
\n\n(Добавление)
сандро, вот скрипт которым я сам пользуюсь. Я где то скачал его, после чего переделал немного (самую малость). Теперь этим скриптом можно обрабатывать все закачки на сервере, а также считать количество просмотров страниц сайта.
Итак сам скрипт.
count.php
PHP:
<?
$counterdir = 'counters/'; // директория где будут находится файлы счетчики
$error = '<center><BR><BR><font face="Verdana,Tahoma" size=2 color="red">
Невозможно скачать файл <b>'.$get.'</b></font><BR>';
// :: Процедура подсчета::

if (file_exists("$getdir$get"))
{
header("location:$getdir$get"); // загружаем файл
$file = fopen("$counterdir/$get.txt","r"); // счетчик загрузок
$count = fread($file, 100); // читаем счетчик
$countplus = ($count + 1); // увеличиваем счетчик на 1
fclose($file); // закрываем файл
$fileb = fopen("$counterdir/$get.txt","w"); // открываем опять файл счетчика
fwrite($fileb, $countplus, 100); // записывает результат в файл счетчика
fclose($fileb); // закрываем файл
}
else
// если произошла ошибка
echo $error ;
?>

Помещаешь этот файл в какую нибудь папку на сервере, например "count". В этой же дирректории создай папку "counters" где будут храниться файлы счетчиков.
Предположим у тебя есть архив, на который ты хочешь поставить счетчик закачек и который доступен по адресу
CODE:
href="http://tvoysite.ru/count/downloads/arhiv.zip

то есть папка с архивом находится в одном каталоге с файлом count.php .
В этом случае ссылка на архив будет выглядеть так
CODE:
href="http://tvoysite.ru/count/count.php?getdir=downloads/&get=arhiv.zip

Если архив находится непосредственно в одном каталоге с файлом count.php, то ссылка будет выглядеть так
CODE:
href="http://tvoysite.ru/count/count.php?get=arhiv.zip

Теперь о том как вытащить значение количества закачек, на странице.
На странице пишешь пример но так.
CODE:
Этот архив скачан <? include("counters/arhiv.zip.txt"); ?> раз.

Хочу сразу сказать, что при просмотре страницы на которой должно показываться количество закачек данного архива, в случае если архив не скачивали ни разу, будет выводиться ошибка, о том что PHP не смог открыть файл "arhiv.zip.txt". И это будет верно, так как этого файла еще не существует. Поэтому необходимо либо создать такой файл и записать в него значение (любое целое число), либо кликнуть по ссылке на закачку архива, в этом случае файл "arhiv.zip.txt" создатся автоматически и в него будет записано значение "1".
Если что не понятно пиши.
7. ETC - 16 Февраля, 2004 - 09:55:03 - перейти к сообщению
TvoyWeb
Зачем для каждого файла делать отдельный *.txt? А не проще ли сделать один файл, что-то вроде базы данных такого содержания:

file1.zip[1]
file2.zip[2]
file3.zip[255]

В скобках указано количество закачек файла. Можно создать файл с нуля, прочитав всю директорию и записав её содержимое построчно, с нулями в скобках...
8. TvoyWeb - 16 Февраля, 2004 - 11:02:57 - перейти к сообщению
ETC, я не писал этот скрипт. А на момент когда я его нашел я абсолютно ничего не знал (хотя считаю что и сейчас ничего не знаю) в PHP. Единственное что я сделал приспособил его под любое расширение. В идеале то конечно лучше все записывать в один файл.
9. ETC - 16 Февраля, 2004 - 11:22:15 - перейти к сообщению
TvoyWeb
Будет время, то накрапаю...
10. сандро - 16 Февраля, 2004 - 11:36:14 - перейти к сообщению
Ок, спасибо в ближайшее время буду исптытывать его на практике.

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0444]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33