ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #2361  
Старый 20.03.2008, 00:24
Аватар для life_is_shit
life_is_shit
Постоянный
Регистрация: 21.08.2007
Сообщений: 367
Провел на форуме:
3578960

Репутация: 468
Отправить сообщение для life_is_shit с помощью ICQ
По умолчанию

Цитата:
Сообщение от temp_late  
Хочу написать скрипт статистики посещаемости, под какими браузерами и под какими системами пользователи бывают на сайте, при обнаружение например нового браузера которого нету в базе статистике, он дабавляется туда.
так те помощь нужна, если да то конкретнее в чем помочь? или это констатация факта?)
 
Ответить с цитированием

  #2362  
Старый 20.03.2008, 00:28
Аватар для scrat
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме:
5812656

Репутация: 1540


Отправить сообщение для scrat с помощью ICQ
По умолчанию

Цитата:
Сообщение от Timati  
посоветуйте что нибудь для новичка почитать
http://phpclub.ru/
 
Ответить с цитированием

  #2363  
Старый 20.03.2008, 02:10
Аватар для .:EnoT:.
.:EnoT:.
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме:
4832771

Репутация: 1916


По умолчанию

Цитата:
Сообщение от life_is_shit  
так те помощь нужна, если да то конкретнее в чем помочь? или это констатация факта?)
ага, решил поделиться самыми откровенными мечтами))

по сабжу:
PHP код:
$agent htmlspecialchars(stripslashes(getenv("HTTP_USER_AGENT")));
if (
strpos($agent"MSIE") == true
{
   
$brodilka 'IE';
}
elseif(
strpos($agent"Opera") == true)
{
   
$brodilka 'Opera';
}
elseif(
strpos($agent"Firefox") == true)
{
   
$brodilka 'Firefox';
}
elseif(....) 
#Другие браузеры
else
{
  
$brodilka '...'#Берём название браузера (хз как правда)
}
$sql mysql_query("SELECT * FROM `table` WHERE `colnum_name` = '".$brodilka."'");
if(
mysql_num_rows($sql) == 0)
{
   
#Добавляем новый браузер
   
mysql_query("INSERT INTO `table` VALUE(.....)");

Короче потипу того. Дальше сам))
А уж статистику писать эт как нефиг делать) Если трудности то бери любо скрипт и смотри как там сделано))
 
Ответить с цитированием

  #2364  
Старый 20.03.2008, 03:09
Аватар для astrologer
astrologer
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме:
3069349

Репутация: 808


По умолчанию

Цитата:
Сообщение от .:EnoT:.  
ага, решил поделиться самыми откровенными мечтами))

по сабжу:
PHP код:
$agent htmlspecialchars(stripslashes(getenv("HTTP_USER_AGENT")));
if (
strpos($agent"MSIE") == true
{
   
$brodilka 'IE';
}
elseif(
strpos($agent"Opera") == true)
{
   
$brodilka 'Opera';
}
elseif(
strpos($agent"Firefox") == true)
{
   
$brodilka 'Firefox';
}
elseif(....) 
#Другие браузеры
else
{
  
$brodilka '...'#Берём название браузера (хз как правда)
}
$sql mysql_query("SELECT * FROM `table` WHERE `colnum_name` = '".$brodilka."'");
if(
mysql_num_rows($sql) == 0)
{
   
#Добавляем новый браузер
   
mysql_query("INSERT INTO `table` VALUE(.....)");

Короче потипу того. Дальше сам))
А уж статистику писать эт как нефиг делать) Если трудности то бери любо скрипт и смотри как там сделано))
strpos('Opera/9.50 (Windows NT 5.1; U; en)', 'Opera') == 0
 
Ответить с цитированием

  #2365  
Старый 20.03.2008, 07:44
Аватар для Piflit
Piflit
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме:
5128756

Репутация: 2032


Отправить сообщение для Piflit с помощью ICQ
По умолчанию

из мпака 0.91
PHP код:
function detect_browser($HTTP_USER_AGENT) {
// Браузер и его версия
if (eregi("(opera) ([0-9]{1,2}.[0-9]{1,3}){0,1}"$HTTP_USER_AGENT$match) || eregi("(opera/)([0-9]{1,2}.[0-9]{1,3}){0,1}"$HTTP_USER_AGENT$match)) {
$browser[name] = "Opera";
$browser[version] = $match[2];
}
elseif (
eregi("(konqueror)/([0-9]{1,2}.[0-9]{1,3})"$HTTP_USER_AGENT$match)) {
$browser[name] = "Konqueror";
$browser[version] = $match[2];
}
elseif (
eregi("(lynx)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})"$HTTP_USER_AGENT$match)) {
$browser[name] = "Lynx";
$browser[version] = $match[2];
}
elseif (
eregi("(links) \(([0-9]{1,2}.[0-9]{1,3})"$HTTP_USER_AGENT$match)) {
$browser[name] = "Links";
$browser[version] = $match[2];
}
elseif (
eregi("(msie) ([0-9]{1,2}.[0-9]{1,3})"$HTTP_USER_AGENT$match)) {
$browser[name] = "MSIE";
$browser[version] = $match[2];
}
elseif (
eregi("(netscape6)/(6.[0-9]{1,3})"$HTTP_USER_AGENT$match)) {
$browser[name] = "Netscape";
$browser[version] = $match[2];
}
elseif (
eregi("(mozilla)/([0-9]{1,2}.[0-9]{1,3})"$HTTP_USER_AGENT$match)) {
$browser[name] = "Netscape(mozilla)";
$browser[version] = $match[2];
if (
eregi("(firefox)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})"$HTTP_USER_AGENT$match)) {
$browser[name] = "Firefox";
$browser[version] = $match[2];}


}
else {
$browser[name] = "Unknown";
$browser[version] = "Unknown";
}

// OS
if (eregi("linux"$HTTP_USER_AGENT)) $browser[os] = "Linux";
elseif (
eregi("win32"$HTTP_USER_AGENT)) $browser[os] = "Windows";
elseif ((
eregi("(win)([0-9]{2})"$HTTP_USER_AGENT$match)) || (eregi("(windows) ([0-9]{2})"$HTTP_USER_AGENT$match))) $browser[os] = "Windows ".$match[2];
elseif (
eregi("(winnt)([0-9]{1,2}.[0-9]{1,2}){0,1}"$HTTP_USER_AGENT$match)) $browser[os] = "Windows NT ".$match[2];
elseif (
eregi("(windows nt)( ){0,1}([0-9]{1,2}.[0-9]{1,2}){0,1}"$HTTP_USER_AGENT$match)) $browser[os] = "Windows NT ".$match[3];
elseif (
eregi("mac"$HTTP_USER_AGENT)) $browser[os] = "Macintosh";
elseif (
eregi("freebsd"$HTTP_USER_AGENT)) $browser[os] = "FreeBSD";
else 
$browser[os] = "Unknown";
if (
eregi("(sv1)"$HTTP_USER_AGENT)) $browser[os] = "Windows NT 5.1 SP2";

return 
$browser;

 
Ответить с цитированием

  #2366  
Старый 20.03.2008, 09:41
Аватар для anakreon
anakreon
Познающий
Регистрация: 19.03.2006
Сообщений: 37
Провел на форуме:
400363

Репутация: 11
По умолчанию

Здравствуйте.
Есть web-сервер
Есть сервер базы данных oracle на соседней машине
Как можно организовать подключение к базе?
 
Ответить с цитированием

  #2367  
Старый 20.03.2008, 13:18
Аватар для -=lebed=-
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию

Как заархивировать файл, используя системный вызов, так как параметр max_execution_time = 30 не позволяет отработать скрипту до конца. (его поменять нельзя)
PHP код:
$handle_in fopen("file.txt""r");
$handle_out gzopen("file.gz""w")
while (!
feof($handle_in)) // пока не достигнут конец файла архивируем файл
  
{
  
$buffer fgets($handle_in);
 
gzwrite($handle_out,$buffer);
  }
fclose($handle_in); // закрываем  файл (источник)
gzclose ($handle_out);  // закрываем архивный файл (приёмник) 
- если файл источник большой - то скрипт не успевает отработать до конца файла.

PS Linux 2.6.9-55.0.12

Последний раз редактировалось -=lebed=-; 20.03.2008 в 14:05..
 
Ответить с цитированием

  #2368  
Старый 20.03.2008, 14:01
Аватар для krypt3r
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

А почему fwrite, а не gzwrite, gzputs?
 
Ответить с цитированием

  #2369  
Старый 20.03.2008, 14:03
Аватар для -=lebed=-
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию

Цитата:
Сообщение от krypt3r  
А почему fwrite, а не gzwrite, gzputs?
Угу, согласен - ошибка, конечно gzwrite, исправил, но в 30 сек неукладывается...

Последний раз редактировалось -=lebed=-; 20.03.2008 в 14:06..
 
Ответить с цитированием

  #2370  
Старый 20.03.2008, 15:05
Аватар для krypt3r
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

Код:
$ wc -lc file.txt
 13713242 154744102 file.txt
$ cat php gzopen.php

<?php
  $handle_in = fopen("file.txt", "r");
  $handle_out = gzopen("file.gz", "w");
  while (!feof($handle_in)) // пока не достигнут конец файла архивируем файл
  {
    $buffer = fgets($handle_in);
    gzwrite($handle_out,$buffer);
  }
  fclose($handle_in); // закрываем  файл (источник)
  gzclose ($handle_out);  // закрываем архивный файл (приёмник)
?>

$ time php gzopen.php
real    1m27.121s
user    1m22.449s
sys     0m1.588s
$ cat gzopen2.php

<?php
  $max_size = memory_get_usage () * 0.8;
  $handle_in = fopen("file.txt", "r");
  $handle_out = gzopen("file.gz", "w");
  while (!feof($handle_in)) // пока не достигнут конец файла архивируем файл
  {
    $buffer = fread ($handle_in, $max_size);
    gzwrite($handle_out,$buffer);
  }
  fclose($handle_in); // закрываем  файл (источник)
  gzclose ($handle_out);  // закрываем архивный файл (приёмник)
?>

$ time php gzopen2.php
real    0m36.477s
user    0m34.346s
sys     0m1.016s
$
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Delphi, .NET, Asm 5420 17.06.2010 13:33
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


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




ANTICHAT.XYZ