Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработка логов сайта, Обработка и вывод 
:(
    Опции темы
IZ@TOP
  Дата 2.4.2003, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Такой вопрос: Как мне разбить такую вот строку -
имя:значение|имя:значение|имя:значение|имя:значение|имя:значение|имя:значение|имя:значение| (где ":" разделяет имя и значение, а "|" разделитель между неким количеством имя значение)
Необходимо создать массив с переменными(имя) которые содержат в себе информацию(значение) notify.gif


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
y.s.grin
Дата 2.4.2003, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 5.3.2003

Репутация: нет
Всего: нет



explode()
PM MAIL ICQ   Вверх
IZ@TOP
Дата 2.4.2003, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



И как это ? Я знаю только как имя значение разделить - explode("|",$str ...);


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
BlackWolf
Дата 2.4.2003, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 2.4.2003

Репутация: нет
Всего: нет



не знаю зачем разбивать на массив может это действительно надо, потому что если тебе потом нужно вытащить только значение одной переменной то можно просто искать в строке вот такую подстроку "переменная:" и потом забрать все что стоит после ":", но до "|".
PM MAIL   Вверх
IZ@TOP
Дата 2.4.2003, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



А как?Как это сделать? С помощью какой функции(жел. пример)


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Loquacious
Дата 2.4.2003, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 252
Регистрация: 29.3.2003

Репутация: нет
Всего: нет



Iz@top, мдям... вроде книжек много умных, а толку мало sad.gif Страный ты какой!


--------------------
is dead
PM MAIL   Вверх
Mark.dll
Дата 2.4.2003, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 134
Регистрация: 28.2.2003
Где: Эстония, Нарва

Репутация: нет
Всего: нет



Код
$stuff=explode("|", $string);

Ещё есть функция split(). Вот как она работает...
Код
list($var1, $var2, $var3) = split("|", $string);

В переменные var1, var2, var3 будут занесены те же значения массива $stuff с индексами от 0 до 2.
Но будь осторожен с тем, что вводишь там где "|"... чтобы разделить по точке,то нужно поставить обратный слэш сначала - "\."

А вообще попробуй поискать в php-manual-е следующие функции: preg_split(), spliti(), explode(), implode(), chunk_split(), and wordwrap(). Найдёшь, что тебе нужно.

--------------------
"I wish I could change the world..."
PM MAIL WWW ICQ   Вверх
IZ@TOP
Дата 2.4.2003, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Цитата
Iz@top, мдям... вроде книжек много умных, а толку мало  Страный ты какой!

Ты думаешь мне так охото на работе книги сидеть читать ? А идея эта у меня тока седня появилась ! Вот я и решил спросить - может кто сразу готовое решение предложет ... но теперь уже не надо, завтра я сам на свой ответ отвечу !


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
BlackWolf
Дата 2.4.2003, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 2.4.2003

Репутация: нет
Всего: нет



Вот держи ленивец smile.gif
Код


<?
function GetVariableValue($variable,$variables)
{
 $pattern = "/".$variable.":([^\|]*)/";
 if(preg_match($pattern,$variables,$matches))
  return $matches[1];
 else
  return "";
}

echo GetVariableValue("a","time:asdasdasdasdz|a:123123123123z");
?>  


PM MAIL   Вверх
Loquacious
Дата 3.4.2003, 06:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 252
Регистрация: 29.3.2003

Репутация: нет
Всего: нет



Iz@top, вон виш народ тебе и кинул, а ты боялся!


--------------------
is dead
PM MAIL   Вверх
IZ@TOP
Дата 3.4.2003, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



А я сам придумал !
Код

<?php
function LoadLog_($log_file)
{
if(!file_exists($log_file)) { $fop = fopen($log_file,"w"); fclose($fop); } else {
 $line_arr = @file($log_file);
 $c = count($line_arr);

 $i = 0;
 while($i < $c)
 {
  $tmp[$i] = explode("|",$line_arr[$i]);
  $i++;
 }
 $i = 0;
 $r = 0;
 $c = count($tmp);
 while($i < $c)
 {
  $ctmp = count($tmp[$i]);
  if($r < $ctmp)
  {
   $vtmp = explode(":",$tmp[$i][$r]);
   $key = $vtmp[0];
   $log[$i][$key] = $vtmp[1];
   $r++;
  } else {
   $i++;
   $r = 0;
  }
 }
}
return $log;
}

$log = LoadLog_("log/access.log");
/*
...

   тут обрабатываем массив $log, и выводим все что нам надо

...
*/
?>

Вот собственно к чему я и пришел ... создан ассоциативный массив, я думаю всем понятно че сдесь происходит smile.gif


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
IZ@TOP
Дата 3.4.2003, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Цитата
Вот держи ленивец

Не фига я не ленивец, вчера вот сидел с головной болью, сидел тупил, потом минут через 15 осенило !


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
IZ@TOP
Дата 3.4.2003, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



PHP FOREVER


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Loquacious
  Дата 3.4.2003, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 252
Регистрация: 29.3.2003

Репутация: нет
Всего: нет



Цитата(Iz @ 3.4.2003, 00:42)
Цитата
Вот держи ленивец

Не фига я не ленивец, вчера вот сидел с головной болью, сидел тупил, потом минут через 15 осенило !

Енто ты когда уже успел так поломать? biggrin.gif


--------------------
is dead
PM MAIL   Вверх
Loquacious
Дата 3.4.2003, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 252
Регистрация: 29.3.2003

Репутация: нет
Всего: нет



Цитата(Iz @ 3.4.2003, 00:39)
А я сам придумал !
Код

<?php
function LoadLog_($log_file)
{
if(!file_exists($log_file)) { $fop = fopen($log_file,"w"); fclose($fop); } else {
 ....

Вот собственно к чему я и пришел ... создан ассоциативный массив, я думаю всем понятно че сдесь происходит smile.gif

Ну ты и завернулся млин..... хэ-хэ-хэ-хэ-хэ-хэ-хэ-хэ...... во даеш!!!!!!!!!!!!1 smile.gif

Это сообщение отредактировал(а) Loquacious - 3.4.2003, 14:14


--------------------
is dead
PM MAIL   Вверх
IZ@TOP
Дата 3.4.2003, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Ну как смог, для моих нужд вполне достаточно ! Скоро дам тебе ссылочку на логи своего сайта ...

Аватар у тя прикольный !


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
IZ@TOP
Дата 4.4.2003, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Если кому интересно че я с кодом сделал - прошу пожаловать


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
arial
  Дата 9.4.2003, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 772
Регистрация: 11.3.2003
Где: Архангельская обл .

Репутация: 6
Всего: 7



baaa.gif

<?php
function LoadLog_($log_file)
{
if(!file_exists($log_file)) { $fop = fopen($log_file,"w"); fclose($fop); } else {
.........

Согласен с Loquacious, зачем этот огород?
Сделай:

<?php
function LoadLog_($log_file)
{
if(file_exists($log_file)) {
.........

Накой черт открывать-закрывать файл? cool.gif


--------------------
Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская)
PM ICQ   Вверх
IZ@TOP
Дата 10.4.2003, 08:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Цитата
Накой черт открывать-закрывать файл? 

Если его нет, то при открытии файла с дерективой w он создается !!!!!!!!!!!!


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1182 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.