Forum Webscript.Ru
Программирование => PHP => Тема начата: Dim от 18 Декабря 2003, 11:41:26
-
Всем привет!
Вот такой код в файл refer.php , через него хочу пропустить все внешние ссылки сайта
$log_file=$DOCUMENT_ROOT."counter.log";
$f=fopen($log_file,"a+");
fputs($f,"$url\\n");
fclose($f);
header("Location: ".$_GET[\'url\']);
Подскажите, пожалуйста, как бы мне прикрутить к этому возможность записи в лог-файл:
0. адрес страницы куда пошли по ссылке (сделал $url) :)
1. адрес страницы с которой пошли по ссылке
2. что бы лог-файл каждый месяц записывался новый, а старый, по истечению месяца, например, падал бы в директорию /arhiv/ с именем обозначающим месяц за который он вёлся, типа "2003_декабрь.log" или так "2003-12.log"
Буду признателен за подробный ответ.
Спасибо
-
0) ничего не понял
1) тоже не ясно
3)$log_file=date("Y")."-".date("m").".log";
-
0. Ты это всерьез спрашиваешь? Не издеваешься?
Ты передаешь скрипту адрес, по которому этим скриптом посылаешь юзера, и спрашиваешь, КАК ТЕБЕ УЗНАТЬ, КУДА ОН УШЕЛ?!
2. запомни эту команду.
На всю жизнь, пока будешь работать с РНР.
phpinfo()
Там ты, в частности, сможешь увитеть переменную с именем страницы.
-
>>> 0. Ты это всерьез спрашиваешь? Не издеваешься?
RomikChef, почему я сразу должен издеваться? Разве был повод? По моему, повода небыло.
"О" пукт я решил, только не уверен, нормально ли, но вроде работает
>> 2. запомни эту команду.
Запомнил и уже давно, ещё год назад, но так как я не профпрограммер, то её естественно забыл, спасибо за напоминание. Всё с этим вопрос решён.
Осталось главное, с архивированием и записью в новый файл
AlieN предложил
$log_file=date("Y")."-".date("m").".log";
Если я правильно понял, то эта строка считывает содержимое из файла с именем текущего месяца, который уже существует, а как создавать файл и как в новом месяце создавать новый файл и далее вести записи в него?
-
По поводу 0:
RomikChef, а что такого страшного? Человек хочет в логах получить статистику использования внешних ссылок... Или я неправильно понял твои эмоции??
-
CGVictor:
эта строка считывает
эта строка ничего не считывает.
ее просто надо дописать в самом верху твоего кода,
а вместо ."counter.log"; написать .$log_file;
CGVictor:
Или я неправильно понял твои эмоции??
да.
-
Dim
$log_file=date("Y")."-".date("m").".log";
...
...а как создавать файл и как в новом месяце создавать новый файл и далее вести записи в него?
$f=fopen($log_file,"a+");
[p]fopen[/p]
[p]date[/p]
Иногда нужно хотя бы один раз почитать... а потом задавать вопросы...