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

Strict Standards: Resource ID#35 used as offset, casting to integer (35) 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
ТвойWeb :: Версия для печати :: Подсчет кликов по ссылкам
ТвойWeb » WebMaster класс » PHP/Perl » Подсчет кликов по ссылкам

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

1. ru-sagem - 22 Января, 2005 - 18:31:01 - перейти к сообщению
Добрый вечер
Скачал себе простенький скрипт посчета скачивания файлов и кликов по ссылкам, а он не хочет работать.
Ссылки вида:
CODE:
<a href="../pictures/download.php?get=auto.php">

работает нормально.
А вот эта:
CODE:
<a href="../pictures/download.php?get=logos.php?news_section=198%20200%20194%20206%20210%20205%20219%20197">

нехочет.

Что надо подправить чтобы работало с вторым типом ссылок.

Вот скрипт:
CODE:
<?
$extension = ""; // вы можете изменить этот параметр (если вы используете другие расширения) или сделать его пустым
$counterdir = "counters/"; // директория где будут находится файлы счетчики

$textfont = "Verdana,Tahoma"; // шрифты для вывода ошибки

// :: Процедура ::

if (file_exists("$get$extension"))
{
header("location: $get$extension"); // загружаем файл [download.php?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 "<font face=$textfont size=2>"; // если произошла ошибка
echo "<center><BR><BR> Невозможно скачать файл <b>$get$extension</b><BR>";

?>
2. TvoyWeb - 22 Января, 2005 - 20:48:46 - перейти к сообщению
ru-sagem
А зачем тебе посчитываеть такие ссылки?
И как ты собираешься делать ссылки новостей такого вида? Ведь они автоматом формируются в скрипте новостей.
3. ru-sagem - 23 Января, 2005 - 06:00:08 - перейти к сообщению
Просто я скрипт который первоначально служил для новостей, пристроил еще к нескольким разделам. Как все даделаю выставлю на обозрение.
Получается что бы попасть в какой нибудь раздел на перейти по ссылке такого вида и необходимо чтобы они подсчитывались.
Можно использовать и другой скрипт подсчета ссылок, но тогда придется переделывать все страницы сайта которые выводят количество кликов, а это добрых 90%.
4. ru-sagem - 23 Января, 2005 - 13:37:47 - перейти к сообщению
Господа ели это не сложно сделать? может поможет кто?
5. TvoyWeb - 23 Января, 2005 - 13:47:52 - перейти к сообщению
ru-sagem пишет:
А вот эта: нехочет

Как именно не хочет? Что происходит после клика? Переходит на заданный раздел?
А лучше сделай такую ссылку (которая работать не хочет) и дай мне линк на страницу, постреть что там и как.
6. ru-sagem - 23 Января, 2005 - 15:14:53 - перейти к сообщению
Не хочет воспринимать ссылку вида:
CODE:
http://www.myx7.h12.ru/pictures/download.php?get=index.php?news_section=192%20194%20210%20206%20204%20206%20193%20200%20203%20200

Цитата:
Что происходит после клика?

После клика пишет, что такой файл не найден. Потому что его не существует.
Если брать рабочую ссылку,
CODE:
http://www.myx7.h12.ru/pictures/download.php?get=auto.php

скрипт выполняет такое действие: открывает файл auto.php.txt увеличивает каличество переходов на 1 закрывает файл и перенаправляет по ссылке:
CODE:
http://www.myx7.h12.ru/pictures/auto.php

Цитата:
Как именно не хочет?

Надо что бы работала ссылка вида:
CODE:
http://www.myx7.h12.ru/pictures/download.php?get=index.php?news_section=192%20194%20210%20206%20204%20206%20193%20200%20203%20200

Счетчик увеличивал количество кликов на 1 и переводил браузер на адрес:
CODE:
http://www.myx7.h12.ru/pictures/index.php?news_section=192%20194%20210%20206%20204%20206%20193%20200%20203%20200


Тут я увидел проблему с именем файла. index.php?news_section=192%20194%20210%20206%20204%20206%20193%20200%20203%20200.txt - такое имя не сделаешь.
Пойдет и такое: 192%20194%20210%20206%20204%20206%20193%20200%20203%20200.txt

Вот ссылка http://www.myx7.h12.ru/pictures/...0200%20203%20200

Если убрать из неё download.php?get= все работает.
7. TvoyWeb - 23 Января, 2005 - 15:56:12 - перейти к сообщению
ru-sagem
Я понял в чем проблема. Что то я сразу не догнал, вернее не вникал (голова малость другим забита).
Дело в том что этот скрипт не обработает такие ссылки.
Ведь скрипт проверяет в папке наличие файла:
CODE:
if (file_exists("$get$extension"))

Что можно перевести как "если такой-то файл существует по указанному адресу", но такого файла нет, а значит скрипт и выдаст об этом сообщение.
попробуй заменить:
CODE:
file_exists("$get$extension")

На
CODE:
fopen($get$extension,"r")

Может получится.
8. ru-sagem - 23 Января, 2005 - 17:58:16 - перейти к сообщению
Вариантик не прошел.
У меня ещё родилась одна идея! А что если в скрипте, если можно сделать, установить ограничение по количетсву символов?
Допустип
CODE:
download.php?get=index.php?news_section=192%20194%20210%20206%20204%20206%20193%20200%20203%20200

скрипт берет первые 9 символов (index.php) а остальные не учитывает при поиске файла.
Как идея.
9. TvoyWeb - 24 Января, 2005 - 01:41:15 - перейти к сообщению
ru-sagem
Перед строкой
CODE:
if (file_exists("$get$extension"))

Вставь
CODE:
$get = substr($get, 0, strpos($get, '?'));
10. ru-sagem - 24 Января, 2005 - 16:40:54 - перейти к сообщению
Багодарю за помощь!

Форум на AlfaSpace.NET


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

[Script Execution time: 0.0427]     [ 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