|
|
|
| Здравствуйте.
Подскажите плиз, как можно реализовать вот это:
<?php
// Извлекаем из строки запроса параметр page
if(empty($_GET['page]))
{
exit();
}
else
{
$page = $_GET['page];
}
// Имя файла
$filename = "counter.txt";
// Открываем файл для чтения
$fd = fopen($filename, "r");
// Читаем его содержимое в буффер
$bufer = fread($fd, filesize($filename));
// Закрываем файл
fclose($fd);
// Редактируем содержимое переменной
$bufer = preg_replace_callback("|($page = )([\d]+)|i",
"increment_number",$bufer);
// Открываем файл для записи
$fd = fopen($filename, "w");
// Записываем содержимое строки $buffer
fwrite($fd, $bufer);
// Закрываем файл
fclose($fd);
// функция обратного вызова
function increment_number($matches)
{
return $matches[1].(++$matches[2]);
}
?>
В параметре page передаётся имя файла, которое находиться в текстовом файле counter.txt, и затем выводиться через номер строки.
|
Только без файла, а с помощью бд. Что-то такая конструкция статла грузить сервер видать, обнуляется постоянно. | |
|
|
|
|
|
|
|
для: sasha
(06.12.2006 в 23:02)
| | что -то типа:
-- дамп
-- БД: `test`
--
-- --------------------------------------------------------
--
-- Структура таблицы `count`
--
CREATE TABLE `count` (
`name` varchar(50) NOT NULL,
`number` int(5) NOT NULL default '0',
`id` int(6) NOT NULL auto_increment,
KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=4 ;
--
-- Дамп данных таблицы `count`
--
INSERT INTO `count` VALUES ('file1', 0, 1);
INSERT INTO `count` VALUES ('file2', 0, 2);
INSERT INTO `count` VALUES ('file3', 0, 3);
|
скрипт
<?
$host = "localhost";
$login = "root";
$password = "1224";
$db="test";
mysql_connect($host, $login, $password) or die ("cant connect...");
mysql_select_db($db);
$id=$_GET['id'];
$c="select * from count where id='$id'";
$res2=mysql_query($c);
$b = mysql_fetch_array($res2);
$b[1]++;
$up="UPDATE count SET number='$b[1]' where id='$id'";
mysql_query($up) or die("Cant insert data...");
$r="select * from count" ;
$res=mysql_query($r);
while($a = mysql_fetch_array($res)){
echo "<a href='".$_SERVER['PHP_SELF']."?id=".$a[2]."'>".$a[0]."</a>"." ".$a[1]." "; }
?>
// знаю кривоватый ;o)
// я вот так и не понял когда всеже считается что попытка загрузки файла произошла...
//просто при клике на линке? потому как файл можно не докачивать
//а счетчик считает - везде так вроде..
|
| |
|
|
|
|
|
|
|
для: moonfox
(07.12.2006 в 00:40)
| | А его не поломают сразу? | |
|
|
|
|
|
|
|
для: sasha
(07.12.2006 в 15:14)
| | что имеется ввиду под "поломают"? | |
|
|
|
|
|
|
|
для: moonfox
(07.12.2006 в 16:00)
| | Ну передадут что нибудь не то, например в перепенную $id | |
|
|
|
|
|
|
|
для: Sasha
(07.12.2006 в 16:05)
| | нет
id - может быть только число, номер физичиски сущесвуют записи в бд | |
|
|
|