|
|
|
|
|
для: cccp
(24.11.2005 в 14:42)
| | Посмотрите,
нашол такой вот скрипт.
Работает хорошо. Он вообше-то для счётчика скачивания файлов, но я ему указал файл .php считать, получается тоже самое.
Поскажите как можно сюда добавить строчку для результата типа:
последний раз нажато : 24-11-2005 в 12:00
Неимоверно благодарен !!!
<SCRIPT LANGUAGE="php">
/////////////////////////////////////////////////////////////////////////////
//// COMPTEUR DE TELECHARGEMENTS ////
//// <2005 Version 1.00> ////
//// (c) <nazdorovie> ////
/////////////////////////////////////////////////////////////////////////////
//// ParamŠtre en entr‚e : $Fichier : nom du fichier à télécharger (doit )
//// obligatoirement être dans le même
//// répertoire que le script.
//// Appel du script : <A HREF="download.php3?Fichier=toto.zip">
//// Fichier Compteur = $Fichier+.dat;
//// 07/00 : Suppression des références à BC-Math
/////////////////////////////////////////////////////////////////////////////
$FileCompteur=$Fichier.".dat";
///------Fonctions Lock et Unlock d'aprŠs Etienne De Toqueville--------------
Function lock($file) {
$timeout = 30; // Timeout (secondes) PHP
$retry = 5; // Temps maxi (secondes) d'attente avant abandon
$delay = 0.1; // Durée d'attente (secondes) entre chaque test
if (file_exists($file.".lck")) {
$time = @filemtime($file.".lck");
if ($time) {
$since = time() - $time;
if ($since > $timeout) unlink($file.".lck");
}
}
for($i = 0; $i < $retry; $i += $delay) {
if (!file_exists($file.".lck")) {
$idlck=fopen($file.".lck","w");
fclose($idlck);
return 1;
}
usleep($delay * 1000000);
}
return 0;
}
///-------------------------------------------------------------------------
Function unlock($file) {
$i = @unlink($file.".lck");
return $i;
}
///-------------------------------------------------------------------------
Function Error($Msg){
Echo $Msg;
FinPres();
Exit("");
}
///-------------------------------------------------------------------------
if (!file_exists($FileCompteur)){
$Compteur=1;
$Fp=fopen($FileCompteur,"w");
fputs($Fp,$Compteur);
fclose($Fp);
}
else{
if (!lock($FileCompteur)) Error("Occupé ! Recommencez plus tard. Merci.");
$Fp=fopen($FileCompteur,"r");
$Compteur=Trim(fgets($Fp,255))+1;
fclose($Fp);
$Fp=fopen($FileCompteur,"w");
fputs($Fp,$Compteur);
fclose($Fp);
unlock($FileCompteur);
}
Header("Location: ".$Fichier);
Exit("");
</SCRIPT>
|
| |
|
|
|
|
|
|
|
для: cccp
(23.11.2005 в 20:06)
| | может есть у кого-то подобный скипт? | |
|
|
|
|
|
|
|
для: goddamn
(23.11.2005 в 19:58)
| | Ну не знаю...
Неужели нельзя сделать что бы он отталкивался от вписанного id на самом линке в этой строчке, a?
<a href="click.php?url=<?print urlencode("papka/index.php3");?>" | |
|
|
|
|
|
|
|
для: cccp
(23.11.2005 в 19:45)
| | вам решать - много маленьких файлов или один большой. если первый вариант, то скрипт немного переписать надо. единственное, какие имена будут у файлов при 1-м варианте ? представили ? если линк = ./abc/def/ghijk/lmnopqrst/?id=1&tratata=1000&aaa=%0A%0D%0E%0C---~_,-,-,-~ что тогда ? :) | |
|
|
|
|
|
|
|
для: goddamn
(23.11.2005 в 12:06)
| | Ну я вообше-то думал что вожможно сделать так что бы каждый линк записывал свой log файл.
Тогда можно было бы использовать лиш один скрипт для всех линков.
Но это всё мои идеи, а сам я не в состоянии сделать это, поэтому думал использовать этот (ваш) скрипт, переименоувая для каждого линка...Что само сабой делает больше файлов и занимает больше места на сервере.
Как вы думаете?
Что посоветуете? | |
|
|
|
|
|
|
|
для: cccp
(23.11.2005 в 01:02)
| | так если будет записывать как 2 2005-11-21 20:45, как потом разберешься, к какому линку это относится ??? чего-то не пойму :) ведь каждая строчка для своего линка, иначе скрипт по-другому писать нужно было :)
ну а так, $encodedurl и $link[0] - это и есть линк (типа index.html)... просто не добавляешь его к данным, если не нужно записывать. но опять же, получается противоречие .. | |
|
|
|
|
|
|
|
для: goddamn
(21.11.2005 в 22:55)
| | Спасибо!
Так всё ОК.
Только мне надо было путь к файлу поставить типа: path/to/file/clicks.log
goddamn.
А как убрать строчку котороя записывает сам линк, типа: index1.html
так-как мне это не надо.
Просто хотел что бы записывало просто 2 2005-11-21 20:45
А я потом переделаю на типа:
Посетили: 2 раз(а)
Последний раз: 2005-11-21 в 20:45
Зарание спасибо! | |
|
|
|
|
|
|
|
для: cccp
(21.11.2005 в 22:38)
| | извини,недосмотрел.
fclose($logfile); // закрываем
| каюсь,виноват ... | |
|
|
|
|
|
|
|
для: goddamn
(21.11.2005 в 22:23)
| | Я понял что линки мне надо свои ставить.
Я так и делал, просто для примера оставил ваши.
файл .log создаётся и изменяется....
Но ошибка всё ранво такая-же. даже если путь к файлу в виде "/path/to/file/clicks.log" (естественно с моим правельным path) | |
|
|
|
|
|
|
|
для: cccp
(21.11.2005 в 22:10)
| | ссылки были для примера и теста :) вместо ./html1 у тебя будут свои линки, на которые ты поставишь ссылки.
по поводу ошибки - а файл clicks.log вобще создается/изменяется ? если нет, то пропиши в $logfilename путь к файлу от / , т.е. /path/to/file/clicks.log
и посмотри логи! там об ошибках дожно протоколироваться :) | |
|
|
|
|