|
|
|
| Проблема в следующем:
есть текстовый файл log.txt в нем находятся записи в следующем порядке:
Time=1130280965
Date=86400
Passive=0
Down=0
Always=0
Note=1
|
надо получить в переменной $a число из Date, а в переменную $b число из Note
каким образом это реализовать? | |
|
|
|
|
|
|
|
для: smit272
(15.01.2006 в 01:03)
| |
<?
$f = file("log.txt");
echo $a = $f[1];
echo $b = $f[5];
?>
|
| |
|
|
|
|
|
|
|
для: Евгений Петров
(15.01.2006 в 01:25)
| | Нет нет...
надо чтобы при echo $a выводилось только число 86400 | |
|
|
|
|
|
|
|
для: smit272
(15.01.2006 в 01:38)
| | А ну сделайте так:
<?
$f = file("log.txt");
echo $a = preg_replace("/[^0-9]+/","",$f[1]);
echo $b = preg_replace("/[^0-9]+/","",$f[5]);
?>
|
| |
|
|
|
|
|
|
|
для: smit272
(15.01.2006 в 01:38)
| | Тогда можно поступить следующим образом
<?
$f = file("log.txt");
list($name, $number) = explode("=",$f[1]);
echo $number;
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(15.01.2006 в 01:48)
| | Большое спасибо! | |
|
|
|
|
|
|
|
для: smit272
(15.01.2006 в 01:58)
| | А как выкручиваться, если не тока цифры, но еще и буквы и нужно сделать проверку?
1-ый случай не подходит, а со 2-ым почему-то проверка не прокатывает! | |
|
|
|
|
|
|
|
для: smit272
(16.01.2006 в 00:35)
| | А что за проверка? | |
|
|
|
|
|
|
|
для: Евгений Петров
(16.01.2006 в 01:06)
| |
<?
//$number - слово или число из $f[1]
$a="good";
if ($a==$number) {echo "ok";} else {echo "no";};
?>
|
| |
|
|
|
|
|
|
|
для: smit272
(16.01.2006 в 02:00)
| | Попробуйте вместо всех $f[1],$f[2],... писать trim($f[1]), trim($f[2]), ... | |
|
|
|
|
|
|
|
для: smit272
(16.01.2006 в 00:35)
| | Попробуй так
<?
$f = file("log.txt");
list($name, $a) = explode("=",$f[1]);
echo $a;
list($name2, $b) = explode("=",$f[5]);
echo $b;
?>
|
| |
|
|
|
|
|
|
|
для: zavragnov
(16.01.2006 в 01:54)
| |
<?
$f = file("log.txt");
list($name, $number) = explode("=",trim($f[1]));
echo $number;
?>
|
При изучении этого кода мне захотелось изменить $number и записать его измененный обратно в файл. Как это сделать, пользуясь массивом а, не переписывая весь файл целиком? | |
|
|
|
|
|
|
|
для: smit272
(15.01.2006 в 01:03)
| | Воспользуйтесь функцией parse_ini_file().
<pre><?php
print_r(parse_ini_file("test.txt"));
?>
|
Содержимое "test.txt":
Time=1130280965
Date=86400
Passive=0
Down=0
Always=0
Note=1
|
В результате получите ассоциативный массив:
Array
(
[Time] => 1130280965
[Date] => 86400
[Passive] => 0
[Down] => 0
[Always] => 0
[Note] => 1
)
|
А дальше работайте с массивом, как угодно:
<?php
$array = parse_ini_file("test.txt");
if (is_numeric($array['date'])) {
echo("Значение 'date' состоит только из чисел");
} else {
echo("Значение 'date' состоит не только из чисел");
}
?>
|
Аня, почитайте темы:
http://softtime.ru/forum/read.php?id_forum=1&id_theme=9159
http://softtime.ru/forum/read.php?id_forum=1&id_theme=11154 | |
|
|
|