Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako da parsujem sledece

[es] :: PHP :: Kako da parsujem sledece

[ Pregleda: 1724 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sojic
Dalibor Sojic
Makedonija

Član broj: 7051
Poruke: 796
85.30.82.*

Sajt: right-sock.net


+1 Profil

icon Kako da parsujem sledece18.10.2006. u 18:16 - pre 213 meseci
Radim "WEB administraciju mreže"

Evo kako izgleda fajl:

Code:

option domain-name "xxxx";
option domain-name-servers 217.16.68.xx, 217.16.69.xx;
option routers xx.xx.xx.xx;
dhcpd_run_chrooted="no";
ddns-update-style none;
default-lease-time 345600;
subnet xx.xx.xx.xx netmask 255.255.255.0 {
  default-lease-time 14400;
  max-lease-time 172800;
}

host user1
{
hardware ethernet 00:0d:9d:8b:e9:c6;
fixed-address xx.xx.xx.xx;
}
host user2
{
hardware ethernet 00:00:39:1f:61:8a;
fixed-address xx.xx.xx.xx;
}
host user3
{
hardware ethernet 00:0b:6a:52:7c:ac;
fixed-address xx.xx.xx.xx;
}


Kad ubacujem novog korisnika, nije problem. Pravim append:
Code:

    
    $record = "host user{$seriski['broj']} {\n";
    $record .= "hardware ethernet {$mac};\n";
    $record .= "fixed-address {$_POST['ip']};\n}\n";


$fajl = fopen("/etc/dhcpd.conf", "a+") {
fwrite($fajl, $record );
fclose($fajl);


Ali pitanje je kako da editiram (replace-iram) postojeći zapisi?
routing protocols enable routers to route routed protocols!
 
Odgovor na temu

dzigorija

Član broj: 111504
Poruke: 15
*.migcomputers.co.yu.



Profil

icon Re: Kako da parsujem sledece18.10.2006. u 20:53 - pre 213 meseci
$fh = fopen('path/to/file', 'r+');

Ova opcija omogucava trazenje i pisanje po fajlu

onda koristis fseek za promenu mesta kursora u fajlu i ftell za trenutnu poziciju kursora

fseek ima i opcioni parametar koji je PHP konstanta i moze biti SEEK_SET (ovo je default), SEEK_CURRENT i SEEK_END (nisam siguran za seek_current ili seek_cur)

znaci:

fseek($fh,10); // postavlja kursor na 10 (prvi karakter je 0)
print ftell($fh)."\n"; //dobija se 10
fseek($fh,10,SET_CUR); // ili koja je vec konstanta
print ftell($fh)."\n"; // 20



sa seek_end moras offset da definises kao negativan integer, jer drugacije nema smisla,

a poziciju sa koje oces da pise i mrdas kursor odredi sa strpos ili ne znam cime...

nadam se da ovo vredi :)
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.ptt.yu.



+257 Profil

icon Re: Kako da parsujem sledece19.10.2006. u 08:11 - pre 213 meseci
Druga varijanta ti je da ucitas ceo fajl sa readfile (ili nekom drugom funkcijom, ne secam se sad kojom), izvrsis izmene nad stringom ili nizom koji si dobio i ponovo sve snimis u fajl...

Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

dzigorija

Član broj: 111504
Poruke: 15
*.migcomputers.co.yu.



Profil

icon Re: Kako da parsujem sledece19.10.2006. u 10:01 - pre 213 meseci
Citat:
Jbyn4e: Druga varijanta ti je da ucitas ceo fajl sa readfile (ili nekom drugom funkcijom, ne secam se sad kojom), izvrsis izmene nad stringom ili nizom koji si dobio i ponovo sve snimis u fajl...


Mislim da je to bolja varijanta... ono sto sam ja pisao mnogo bre komplikovano :)

Ima samo jedna dobra fora koja se koristi kod promene konfiga bez opasnosti da ce neki klijent biti u nemogucnosti da procita fajl dok se nad njim vrse operacije

snimis fajl pod nekim temp imenom i onda ga preimenujes u tvoj dhcpd.conf

To sam cito od nekih eksperata, kazu da je to atomic operacije, sta god to bilo.. valjda nesto brzo :)
 
Odgovor na temu

japan

Član broj: 34328
Poruke: 480
*.smin.sezampro.yu.



+13 Profil

icon Re: Kako da parsujem sledece19.10.2006. u 11:08 - pre 213 meseci
Citat:
dzigorija: kazu da je to atomic operacije, sta god to bilo.. valjda nesto brzo :)


atomična (nedeljiva) operacija znači da će se ili izvršiti sve, ili ništa, tj. ako operacija ima npr. tri koraka, ne može da se desi da se dva koraka izvrše, a treći ne, nego će se izvršiti ili sva tri, ili neće nijedan.
 
Odgovor na temu

sojic
Dalibor Sojic
Makedonija

Član broj: 7051
Poruke: 796
62.162.225.*

Sajt: right-sock.net


+1 Profil

icon Re: Kako da parsujem sledece19.10.2006. u 11:38 - pre 213 meseci
OK, znači idemo ovako:

Podatke imam u bazi. Kad vršim izmenu, generišem novi fajl i replaciram stari dhcpd.conf.

Sad za sad baza je sa ne više od 256 korisnika, tako da mislim da neće biti problem.
routing protocols enable routers to route routed protocols!
 
Odgovor na temu

[es] :: PHP :: Kako da parsujem sledece

[ Pregleda: 1724 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.