Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Несколько Вопросов которые мало кто задает.
 
 автор: Akira   (26.10.2004 в 17:37)   письмо автору
 
 

Кто мне сможет подсказать как выполнить проверку подключен ли человек или уже нет?
И как сделать так что бы при сканировании папки файлы с опр. расширением не выводились?

   
 
 автор: glsv (Дизайнер)   (26.10.2004 в 20:27)   письмо автору
 
   для: Akira   (26.10.2004 в 17:37)
 

>Кто мне сможет подсказать как выполнить проверку подключен ли человек или уже нет?
Подключен к чему?

>И как сделать так что бы при сканировании папки файлы с опр. расширением не выводились?
"Сканирование папки" – это что такое? Когда отображается список файлов в папке, например, набрали: www.site.ru/folder/ и в браузере отобразился список файлов в этой директории?
Это можно сделать директивой IndexIgnore в файла htaccess

IndexIgnore *.zip

Вот эта строка запрещает отображение файлов с расширением *. zip, при отображении файлов каталога.
Принудительное включение генерации списка файлов в директории осуществляется директивой

Options +Indexes


А вот еще директива, которая может быть интересна…
IndexOrderDefault – устанавливает по какому полю и в каком порядке будет отсортирован список файлов. По умолчанию список сортируется по названию.
Синтаксис этой директивы следующий:

IndexOrderDefault [typesort] [field]

где [typesort] определяет тип сортировки (по убыванию или по возрастанию) и может принимать значения: Ascending или Descending
[field] – это названия одного из полей: Name, Date, Size, Description
В качестве примера, приведена сортировка список файлов по полю size по возрастанию.

IndexOrderDefault Ascending Size

   
 
 автор: Akira   (26.10.2004 в 20:56)   письмо автору
 
   для: glsv (Дизайнер)   (26.10.2004 в 20:27)
 

>Подключен к чему?
Допустим он зашел в чат. Но не вышел а разорвал соеденение. Как проверить сделал он или нет это? Что бы удалить его Ник.
И что если использовать htaccess, то при функции readdir(); и вывода того что в ней , не будет файлов с расширение *.zip ?

   
 
 автор: cheops   (26.10.2004 в 21:12)   письмо автору
 
   для: Akira   (26.10.2004 в 20:56)
 

>И что если использовать htaccess, то при функции readdir();
>и вывода того что в ней , не будет файлов с расширение *.zip
>?
Так как код не был приведён, не совсем понятно было о чём речь отсюда и ответ, я если честно тоже про apache подумал. Для проверки можно просто проверить не равно ли расширение .zip:
<?php
  
if(strrchr($_FILES['attach']['name'], ".") == ".zip") echo "Это zip-архив";
?>


http://www.softtime.ru/dic/id_dic=8&id_group=1

   
 
 автор: Akira   (26.10.2004 в 21:19)   письмо автору
 
   для: cheops   (26.10.2004 в 21:12)
 

Реальный рабочий код, который мне бы и хотелось модифицировать...
<?
include $DOCUMENT_ROOT.'/wap/inc/header.php';
    
$current_dir ".";
  
$dir opendir($current_dir);
  while (
$file readdir($dir))
  {
    if((
$file != ".") && ($file != "..") && ($file != "jar") && ($file != "index.php") && ($file != "header.php") && ($file != "footer.php"))
    {
      echo 
"<a href=\"".$file."\">".$file." (".bcdiv(filesize($file), 1024)." &#x043A;&#x0431;)</a><br/>";
      }
  }
  echo 
"<br/>"
  
closedir($dir);
  include 
$DOCUMENT_ROOT.'/wap/inc/footer.php'
?>

   
 
 автор: cheops   (26.10.2004 в 21:29)   письмо автору
 
   для: Akira   (26.10.2004 в 21:19)
 

Тогда его можно легко модифицировать:
<?php
  
include $DOCUMENT_ROOT.'/wap/inc/header.php'
  
$current_dir "."
  
$dir opendir($current_dir); 
  while (
$file readdir($dir)) 
  { 
    if((
$file != ".") &&
       (
$file != "..") &&
       (
$file != "jar") &&
       (
$file != "index.php") &&
       (
$file != "header.php") &&
       (
$file != "footer.php") &&
       
strrchr($_FILES['attach']['name'], ".") != ".zip"
    { 
      echo 
"<a href=\"".$file."\">".$file." (".bcdiv(filesize($file), 1024)." &#x043A;&#x0431;)</a><br/>"
    } 
  } 
  echo 
"<br/>"
  
closedir($dir); 
  include 
$DOCUMENT_ROOT.'/wap/inc/footer.php'
?>

   
 
 автор: cheops   (26.10.2004 в 21:25)   письмо автору
 
   для: Akira   (26.10.2004 в 20:56)
 

>Допустим он зашел в чат. Но не вышел а разорвал соеденение.
>Как проверить сделал он или нет это? Что бы удалить его Ник.
А как определяется, что посетитель в чате сидит? Т.е. он вероятно вводит свой ник и пароль - а при ответах отмечается, что он в чате - например в одном из полей сеcсии сохранять время его последнего ответа. Раз в десять минут проверять сессии чата и удалять всех сессии (ники) от которых небыло подтверждения пребывания (сообщений) в течении 10 последних минут (здесь подставить адекватное время).

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=150

   
 
 автор: Akira   (26.10.2004 в 21:33)   письмо автору
 
   для: cheops   (26.10.2004 в 21:25)
 

Ну прочитал я =) Интересно как это реализовать? У меня не очень с session ладиться =(

   
 
 автор: cheops   (27.10.2004 в 00:34)   письмо автору
 
   для: Akira   (26.10.2004 в 21:33)
 

Перво-наперво необходимо создать таблицу, где будут хранится уникальные идентификаторы сессий и соответствующие им ники:
CREATE TABLE users (
  id_user int(11) NOT NULL auto_increment,
  id_session tinytext NOT NULL,
  name tinytext NOT NULL,
  puttime datetime NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY  (id_user),
  UNIQUE KEY id_session (id_session)
) TYPE=MyISAM;

id_user - первичный ключ таблицы
id_session - идентификатор сессии
name - ник
puttime - время
Каждая страница должна начинаться со строк
<?php
  session_start
();
  
$id_session session_id();
?>

При входе на чат для посетителя заводится запись в таблице в которую заносится номер его сессии, ник и время захода на чат. При загрузке страницы идентификаторы для каждого из посетителей будут теми же, какие они получили при входе в чат. Следует находить по ним записи в таблице и обновлять время посещения puttime - тогда посетителей чата on-line очень просто вывести - это те чьё время последнего посещения находится в интервале от 0 до 10 минут назад.

   
 
 автор: Akira   (04.11.2004 в 17:54)   письмо автору
 
   для: cheops   (27.10.2004 в 00:34)
 

=) А что должно вводиться самим пользователем в бд ? Только ник?
А возможно ли будет создать скрипт который будет удолять неактивных пользователей?

   
 
 автор: glsv (Дизайнер)   (04.11.2004 в 20:47)   письмо автору
 
   для: Akira   (04.11.2004 в 17:54)
 

>=) А что должно вводиться самим пользователем в бд ? Только ник?
Да, а таблице предложенной cheops-ом из личной информации у посетителя есть только ник.

>А возможно ли будет создать скрипт который будет удолять неактивных пользователей?
Неактивных - это каких? Которые очень долго не заходили на форум?

Можно сделать так: найти малопосещаемую страницу и вставить в ее код блок кода который удаляет таких пользователей.
Это блок кода будет похож на код определения активных посетителей. Только вместо оператора SELECT в запросе будет оператор DELETE и период будет большим... например пол года.

   
 
 автор: Akira   (04.11.2004 в 22:30)   письмо автору
 
   для: glsv (Дизайнер)   (04.11.2004 в 20:47)
 

К сожелению, это не форум и не гостевая, это чат, причем на wml , а не html =(
Так столько нюансов, что просто помереть можно. Что вообще надо
1) Это проверка имени посетителя (если оно занято кем-то) 2) вывод кол-ва и имен пользователей 3) Не хочу делать регистрацию.

   
 
 автор: cheops   (04.11.2004 в 22:36)   письмо автору
 
   для: Akira   (04.11.2004 в 22:30)
 

Хм... ну сессии-то наверное всё равно доступны - они же на сервере - или такие урлы не допустимы?

   
 
 автор: Akira   (04.11.2004 в 22:42)   письмо автору
 
   для: cheops   (04.11.2004 в 22:36)
 

Отличее wap-браузера от нормального это отсутствие coocie или как там( еще javaScript и пр. мелочи) =) а url держит любые =) в особенности *.php?a=5&b=9 =)
Только мне не очень понятны сесии =(

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования