imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 26.11.2005, 02:40     # 1
toll
Guest
 
Сообщения: n/a

Question счетчик кликов на ссылку

Помогите, пожалуйста, решить проблему.
Устновил счетчик нажатия на ссылку, который записывает количество нажатий в файл stat.dat
В этом файле только одна цифра.
Как дать команду из кода Web-страницы считать эту цифру из файла stat.dat, и отобразить ее на Web-странице?
Буду благодарен за ответ. toll-@tut.by
 
Старый 26.11.2005, 16:46     # 2
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
<?php
$handle = @fopen("stat.dat", "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
echo $buffer;
}
fclose($handle);
}
?>

(C) PHP.NET
__________________
Всё будет хорошо!
Stasik вне форума  
Старый 27.11.2005, 02:23     # 3
toll
Guest
 
Сообщения: n/a

Question

Спасибо за внимание к моей проблеме. Вся проблема в том, что хост не поддерживает PHP в коде HTML страниц. CGI сценарии выполняются только в папке cgi-bin, а HTML-страницы только в WWW директории. Возможно ли считать данные из файла, который находиться в другой директори (cgi-bin) с помощью HTML кода из страницы, находящейся в WWW директории? toll-@tut.by

Последний раз редактировалось toll; 27.11.2005 в 02:28.
 
Старый 27.11.2005, 18:52     # 4
Scary Zet
Junior Member
 
Аватар для Scary Zet
 
Регистрация: 08.07.2004
Адрес: Воронеж
Сообщения: 115

Scary Zet Нимб уже пробиваетсяScary Zet Нимб уже пробивается
Афаик, нельзя.
__________________

Каждая мечта тебе дается вместе с силами, необходимыми для ее осуществления. Однако тебе, возможно, придется ради этого потрудиться.

Ричард Бах
Scary Zet вне форума  
Старый 28.11.2005, 12:19     # 5
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
можно.... или по SSI или элементарно в iframe можно и JS добавить

скриптик кладёшь в /cgi-bin/count.php

в страницу ставишь
<!--#exec cgi="/cgi-bin/count.php" -->
не будет работать можно страницу в *.shtml переименовать....

если пхп не исполняется, можно и в перле написать... а с ифреймом... я те подскажу если ССИ работать не будет.. писать в падлу Ж)
__________________
Всё будет хорошо!
Stasik вне форума  
Старый 28.11.2005, 12:29     # 6
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Можно, если доступны инструкции SSI типа virtual, exec, можно тогда включить ими результат выполнение CGI-скрипта.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 29.11.2005, 01:54     # 7
toll
Guest
 
Сообщения: n/a

SOS!!!

<!--#exec cgi="/cgi-bin/counter.php" -->
Stasik, это не работает, блин.
У меня есть HTM-страница main.htm, которая находится в WWW-директории, где хост не дает работать скриптам.
На странице есть ссылка "Скачать", при нажатии на которую
срабатывает скрипт counter.php, находящийся в cgi-bin директории, где
работают скрипты и cgi-сценарии.
Этот скрипт записывает количество нажатий на ссылку в файл stat.dat,
находящийся в cgi-bin. Вот этот скрипт counter.php:
<?php

$f=fopen("stat.dat","a+");
flock($f,LOCK_EX);
$count=fread($f,100);
@$count++;
ftruncate($f,0);
fwrite($f,$count);
fflush($f);
flock($f,LOCK_UN);
Header("location:/avt.rar");
?>

Как!!!!! прочитать информацию из файла stat.dat при загрузке страницы
main.htm ???????????? и отобразить на этой странице?
Я не верю, что это невозможно.

toll-@tut.by
 
Старый 29.11.2005, 02:09     # 8
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
да возможно всё... страницу в .shtml переиминовывал?

вот если не работает тогда будем с JS гемороиться...

вот скрипт count.php

PHP код:
<?php
echo "<html><script>";
echo 
"parent.getElementById('c').innerHTML = \"";
$handle = @fopen("stat.dat""r");
if (
$handle) {
while (!
feof($handle)) {
$buffer fgets($handle4096);
echo 
$buffer;
}
fclose($handle);
}
echo 
"\";";
echo 
"</script></html>";
?>
вот

в HTML:
Код HTML:
Файл скачан <div id="c"></div> раз.
и потом ниже в самом конце страницы:
Код HTML:
<iframe height="1" width="1" src="./cgi-bin/count.php" scrolling="no"></iframe>
вуаля.... (с граматикой (раз или раза) думай сам.... это домашнее заданее )
__________________
Всё будет хорошо!
Stasik вне форума  
Старый 29.11.2005, 04:45     # 9
aoxyz_30330
Junior Member
 
Аватар для aoxyz_30330
 
Регистрация: 22.05.2004
Сообщения: 112

aoxyz_30330 Мелкий засранец
а чего, на перле чтоли незя?
aoxyz_30330 вне форума  
Старый 29.11.2005, 12:09     # 10
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
А что, SSI точно не доступен??

Только вместо iframe наверное лучше стандартный <script> юзать, зачем велосипед-то изобретать...

вот скрипт count.php
PHP код:
<?php
if ($handle = @fopen("stat.dat""r")){
$count fread($handlefilesize("stat.dat")); //Если ПХП не слишком старый, вместо этого всего сразу получаем file_get_contents
fclose($handle);
}
// else - Облом, обработать ошибку открытия файла (Лень, это же пример)
?>
document.open();
document.write('<?=$count?>');
document.close();
Ну и вызываем это где нужно уже непосредственно:
Код:
Файл скачан <script type="text/javascript" src="cgi-bin/count.php"></script> раз.
Повторяю еще раз, если есть SSI, то лучше на нем сделать, а не изобретать подобного.

Цитата:
aoxyz_30330:
а чего, на перле чтоли незя?
Можно, почему нет, то же самое будет приблизительно. НЕ важно кто выведет данные, важен способ их включения.

А еще лучше, попробуйте просто на странице вписать следующее:
Код:
<script type="php" src="cgi-bin/test_file.php"></script>
Это должно просто вызвать ПХП-файл на обработку и включение результатов. Это может быть первоначальный ПХП-файл, который и выводил количество, который на SSI включить пытались
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.

Последний раз редактировалось Hubbitus; 29.11.2005 в 12:17.
Hubbitus вне форума  
Старый 29.11.2005, 15:09     # 11
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
это тоже дело, но просто я использую iframe т.к. его можно ещё и перегружать (извиняюсь за изобретение.....)
__________________
Всё будет хорошо!
Stasik вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 02:29.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.