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
Помещаешь этот файл в какую нибудь папку на сервере, например "count". В этой же дирректории создай папку "counters" где будут храниться файлы счетчиков.
Предположим у тебя есть архив, на который ты хочешь поставить счетчик закачек и который доступен по адресу
то есть папка с архивом находится в одном каталоге с файлом count.php .
В этом случае ссылка на архив будет выглядеть так
Если архив находится непосредственно в одном каталоге с файлом count.php, то ссылка будет выглядеть так
Теперь о том как вытащить значение количества закачек, на странице.
На странице пишешь пример но так.
Хочу сразу сказать, что при просмотре страницы на которой должно показываться количество закачек данного архива, в случае если архив не скачивали ни разу, будет выводиться ошибка, о том что PHP не смог открыть файл "arhiv.zip.txt". И это будет верно, так как этого файла еще не существует. Поэтому необходимо либо создать такой файл и записать в него значение (любое целое число), либо кликнуть по ссылке на закачку архива, в этом случае файл "arhiv.zip.txt" создатся автоматически и в него будет записано значение "1".
Если что не понятно пиши.
Цитата:
Тогда как с закачками быть?
Тебе скрипт нужен? В нете полно этих скриптов.
Могу поделиться скриптом которым сам пользуюсь.
\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 ;
?>
$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]
В скобках указано количество закачек файла. Можно создать файл с нуля, прочитав всю директорию и записав её содержимое построчно, с нулями в скобках...
Зачем для каждого файла делать отдельный *.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 - перейти к сообщению
Ок, спасибо в ближайшее время буду исптытывать его на практике.