login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Bestand uitlezen

Offline Sorcer - 13/02/2007 16:36
Avatar van SorcerPHP interesse Beste Sitemasters,

Ik heb een vraag:

Ik ben zelf begonnen met het maken van een soort Control Panel die het volgende moet kunnen:
- Een config bestand openen
- Het config bestand uitlezen
- De uitgelezen variabelen bijvoorbeeld: ip=123 in een textvak zetten zodat ik die zelf kan wijzigen en OPSLAAN kan drukken zodat hij de nieuwe IP opslaat en ook saved in het bestand.

Voorbeeld Pagina:

IP: <hier het IP, uitgelezen uit het bestand (tekstvlak)> SET
Port: <hier de Port, uitgelezen uit het bestand (tekstvlak)> SET

Als je dus op SET drukt, saved hij de nieuwe invoer in het tekstvlak en zet schrijft de invoer ook weg in het bestand.

Iemand een idee hoe ik dit kan doen? Ikzelf kan het nergens vinden. Bedankt alvast!

19 antwoorden

Gesponsorde links
Offline Rik - 13/02/2007 16:40
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Je kan alle settings in een array stoppen, die serializen en dan in een bestand zetten.

Met unserialize() kan je er weer een normale array van maken.
Offline Sorcer - 13/02/2007 16:54
Avatar van Sorcer PHP interesse Boukefalos, zou jij een voorbeeld kunnen maken? (Al is het maar klein). Bedankt!
Offline Rik - 13/02/2007 17:05
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Is goed, ik ben aan het werk! 
Offline Sorcer - 13/02/2007 17:09
Avatar van Sorcer PHP interesse Dankjewel! Ik wacht af 
Offline Rik - 13/02/2007 17:23
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Dit heb ik ervan gebrouwen:
http://www.plaatscode.be/4197/

Het is helemaal niet veilig, maar de basis werkt! 
Offline Sorcer - 13/02/2007 17:25
Avatar van Sorcer PHP interesse Moet ik er zelf dingen in wijzigen qua: "Settings" -> "Waarde"?
Ik ga hem z.s.m. testen.
Offline Rik - 13/02/2007 17:29
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Jup, als er nog geen bestand is maakt hij er een met standaard settings. Die zou je naar je eigen standaarden kunnen aanpassen.
Offline Sorcer - 13/02/2007 17:47
Avatar van Sorcer PHP interesse Dus als er bijvoorbeeld in het bestand zit:


IP=123.133
Port=13323

Kan hij dit weergeven? D.m.v. het veranderen van de waardes en settings.
Offline Rik - 13/02/2007 18:00
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Ik snap niet precies wat je bedoelt... 
Offline Sorcer - 13/02/2007 18:11 (laatste wijziging 13/02/2007 18:12)
Avatar van Sorcer PHP interesse Kijk, ik vertel het nogmaals:

Config bestand: config.cfg

# Hierin staan de gegevens:

IP=13.233.133
Port=8131
Servername=Test

Ik surf naar: www.website.com/cp/settings.php
Als je die pagina opent moet er het volgende verschijnen:

IP: <invulvak> (Hier moet al de variable instaan die die al uit het config bestand heeft uitgehaald, dus 13.233.133)
Port: <invulvak> (Hier moet al de variable instaan die die al uit het config bestand heeft gehaald, dus 8131)
Servername: <invulvak> (Hier moet al die variable instaan die die al uit het config bestand heeft gehaald, dus Test)

Je kunt bij die invulvakjes gewoon dingen wijzigen en vervolgens daarachter op SET drukken. Zodat hij de aanpassing maakt in het config bestand, en het laat zien bij Settings.php.

Bijvoorbeeld: Ik wijzig het invulvlak bij IP: naar: 132.144.111 (Ik druk daarna op SET achter het invulvakje) - Dan moet dit gewijzigd worden in het config bestand en de pagina moet gerefrehst worden zodat je de nieuwe variable ziet (132.144.111).

Zo beter uitgelegd?
Offline ikkedikke - 13/02/2007 19:12
Avatar van ikkedikke PHP expert kijk eens naar het zend framework. Daar zit een klasse bij die ini-files kan uitlezen. dat moet jij denk ik hebben.
Offline Rik - 13/02/2007 19:25 (laatste wijziging 13/02/2007 19:26)
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Dus je wilt dat je de instellingen ook apart kunt updaten?

Ik heb dit ervan gemaakt:
http://www.plaatscode.be/4198/

Edit:
@ikkedikke
Ik had jouw post nog niet gezien...
Offline Sorcer - 13/02/2007 19:41 (laatste wijziging 14/02/2007 16:37)
Avatar van Sorcer PHP interesse @Boukefalos, is misschien wel het handigste je, gewoon achter iedere setting een KNOP met: SET (Die dan het updated en de pagina refresht.)

Bedankt voor het aanpassen eens kijken 

EDIT: Het is niet gelukt!

Hij saved namelijk het volgende in het bestand dat al bestond: a:6:{s:2:"IP";s:15:"voice.test.nl";s:4:"Test"

Dat moet natuurlijk niet..

De structuur van het bestand bestaat uit:

IP=$IP
PORT=$PORT

En dus ook netjes onder elkaar! Enige oplossing?
Offline Rik - 14/02/2007 17:03 (laatste wijziging 14/02/2007 17:15)
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Het enige verschil is dus hoe je het opslaat in het bestand...

Ik zal nog wat knutselen. 

Edit:
Dit heb ik ervan gemaakt:
http://plaatscode.be/4206/
Offline Sorcer - 14/02/2007 17:22 (laatste wijziging 14/02/2007 17:25)
Avatar van Sorcer PHP interesse Ziet er harstikke goed uit! Nu nog een vraag;

Ik wil natuurlijk dat de overige settings in z'n bestand blijven staan.
Bijvoorbeeld: server.cfg

IP=$ip
Port=$port
Maxclients=10

Die 10 mogen ze niet veranderen. Hoe maken we dus dat hij het huidige configuratie bestand van ons niet overwrite met alleen de ingegeven variablen? Dus dat hij de overige netjes laat staan. En wat er aangepast moet worden bijv IP naar: 123.133.23 - Dat dat dus netjes word geupdated.

Enig idee?
Offline Rik - 15/02/2007 15:50
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Je kan dat gene wat niet mag worden aangepast niet in je config zetten dan kan het niet worden aangepast. 

Anders zal je ergens moeten opgeven dat het niet mag worden veranderd, bijvoorbeeld met een * aan het begin van de regel, en dat met php uitlezen.
De config file die dit script maakt, ga je die gebruiken voor een server oid? Want dan kan je niet zomaar een * erbij zetten omdat hij het dan wss niet goed kan lezen.
Offline Sorcer - 15/02/2007 19:27
Avatar van Sorcer PHP interesse Nou ik wil het gebruiken voor een Eggdrop . Deze leest een .conf file. Onze standaart .conf file is altijd goed, alleen wil ik dat de klant een paar variabelen kan veranderen zoals: IP en Port etc.

Maar de rest in de config file mag niet worden veranderd!
Offline Rik - 15/02/2007 19:51
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Ik heb een andere oplossing bedacht dan met dat sterretje:
http://plaatscode.be/4217/

Als het goed is is hij ook een beetje beveiligd! Ik heb hem niet uitgebreid getest, maar hij zou zo moeten werken. 
Offline Sorcer - 16/02/2007 12:32 (laatste wijziging 16/02/2007 15:17)
Avatar van Sorcer PHP interesse Ik zie dat het nu perfect werkt. Alleen als ik een nieuwe variable via het invulvakje invoer en vervolgens op SET druk, slaat hij dat niet op! Enig idee waarom niet?

UPDATE: Opgelost!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.184s