Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Odczyt danych z pliku konfiguracyjnego
_scorpio__
post
Post #1





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 4.08.2003

Ostrzeżenie: (0%)
-----


Chce stworzyc do swojego skryptu plik konfiguracyjny z ktorego beda pobierane wszelkiego typu dane. I teraz pytanie jak zrobic by z pliku w ktorym dane beda zapisane w sposob

aaa=xxx
bbb=yyy
ccc=eee

Oczytac dane w ten sposob ze wartosci z aaa zostane do pola1 a wartosci ccc do pola2 a z bbb do 5 pola, i zeby z jednego plikukilka podstron moglo szczytywac dane
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 25)
spenalzo
post
Post #2





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


A nie lepiej trzymać same dane bez wartośi? Bo ja za bardz nie widzę sensu.
A jak masz same wartości oddzielone czymśtam to ładujesz cały plik i rozdzielasz przy pomocy [manual:55b48a8ab3]explode[/manual:55b48a8ab3] i masz ładna tablice.
Go to the top of the page
+Quote Post
adwol
post
Post #3





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

Ostrzeżenie: (0%)
-----


Cytat
Chce stworzyc do swojego skryptu plik konfiguracyjny z ktorego beda pobierane wszelkiego typu dane. I teraz pytanie jak zrobic by z pliku w ktorym dane beda zapisane w sposob

aaa=xxx
bbb=yyy
ccc=eee

Oczytac dane w ten sposob ze wartosci z aaa zostane do pola1 a wartosci ccc do pola2 a z bbb do 5 pola, i zeby z jednego plikukilka podstron moglo szczytywac dane

Nie za bardzo rozumiem o co chodzi Ci z tymi polami.
Jak chcesz wyciagnąć konfig postaci klucz=wartosc to najprościej tak:
[php:1:bcc786aa1e]<?php
foreach (file("config") as $linia)
{
$linia = rtrim($linia);
list($k, $v) = explode('=', $linia, 2);
$conf[$k] = $v;
}

?>[/php:1:bcc786aa1e]
Go to the top of the page
+Quote Post
Omega
post
Post #4





Grupa: Zarejestrowani
Postów: 273
Pomógł: 0
Dołączył: 5.05.2003
Skąd: Mazury

Ostrzeżenie: (0%)
-----


Odczytaj plik przy pomocy polecenia file(), nastepnie exploduj poprzez separator "=" i dane zapisz do tqablicy. W postaci kluczy elementy z indexem [0] (po eksplodowaniu), a wartości z indexem [1]. I problem będziesz miał rozwiązany.
Go to the top of the page
+Quote Post
spenalzo
post
Post #5





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat
Odczytaj plik przy pomocy polecenia file(), nastepnie exploduj poprzez separator "=" i dane zapisz do tqablicy. W postaci kluczy elementy z indexem [0] (po eksplodowaniu), a wartości z indexem [1]. I problem będziesz miał rozwiązany.


[php:1:d70104c9bc]<?php
$f=file("plik.txt");
for($i=0; $i<count($f); $i++)
{
$tab[$i]=explode("=",$f[$i]);
}

echo $tab[18][0]; // wiersz 18, wartość przed =
echo $tab[1][1]; // wiersz 1, wartość po =
?>[/php:1:d70104c9bc]
Go to the top of the page
+Quote Post
jono
post
Post #6





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 29.06.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Równie dobrze, a może nawet lepiej zrób tak:
Plik config.php:
[php:1:4b97bbbd9e]<?php
$aaa = 'aaa';
$bbb = 'bbb';

?>[/php:1:4b97bbbd9e]
i teraz plik np. index.php:
[php:1:4b97bbbd9e]<?php
include('config.php');
echo $aaa;
echo $bbb;

?>[/php:1:4b97bbbd9e]
Po co robić file() explode() lepiej od razu zrób plik konfiguracyjny jako plik php ze zmiennymi i nie będziesz musiał kombinować (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
Jabol
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

Ostrzeżenie: (0%)
-----


jono, ale taki plik się trudniej edytuje za pomocą php.
Spróbuj tak:[php:1:51823c4319]<?php
foreach ( file( "config" ) as $linia )
{
$linia = trim( $linia );
list( $k, $v ) = explode( '=', $linia, 2 );
${ trim( $k) } = trim( $v );
}
?>[/php:1:51823c4319]
ps. przerobiony skrypt spenalza, tylko troche inaczej zapisuje dane
Go to the top of the page
+Quote Post
adwol
post
Post #8





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

Ostrzeżenie: (0%)
-----


Cytat
jono, ale taki plik się trudniej edytuje za pomocą php.
Spróbuj tak:[php:1:daeaa85da1]<?php
foreach ( file( "config" ) as $linia )
{
$linia = trim( $linia );
list( $k, $v ) = explode( '=', $linia, 2 );
${ trim( $k) } = trim( $v );
}
?>[/php:1:daeaa85da1]
ps. przerobiony skrypt spenalza, tylko troche inaczej zapisuje dane

Tia... bardzo podobny posłałem wcześniej. Tylko nie było trimowania klucza i wartości. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
spenalzo
post
Post #9





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Jest jeszcze jedno wyjście:
[php:1:2bacfeab1a]<?php
$f=file("plik");
for($i=0; $i<count($f); $i++)
{
parse_str($f[$i]);
}
?>[/php:1:2bacfeab1a]
i masz tak jakby to były normalne zmienne.
Go to the top of the page
+Quote Post
_scorpio__
post
Post #10





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 4.08.2003

Ostrzeżenie: (0%)
-----


spenalzo a teraz jak z tego twojego przykladu dane wczytac na strone ?
Go to the top of the page
+Quote Post
spenalzo
post
Post #11





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat
spenalzo a teraz jak z tego twojego przykladu dane wczytac na strone ?

[php:1:c437a4c9aa]<?php
echo $aaa; //xxx
echo $bbb; //yyy
echo $ccc; //eee
?>[/php:1:c437a4c9aa]
Go to the top of the page
+Quote Post
_scorpio__
post
Post #12





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 4.08.2003

Ostrzeżenie: (0%)
-----


Cytat
Cytat
spenalzo a teraz jak z tego twojego przykladu dane wczytac na strone ?

[php:1:0e7e0b87cb]<?php
echo $aaa; //xxx
echo $bbb; //yyy
echo $ccc; //eee
?>[/php:1:0e7e0b87cb]


a czy moge odczytac w jednej stronie samo bbb w drugiej np samo ccc ?
Go to the top of the page
+Quote Post
[Regis]
post
Post #13





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 19.04.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Tak z ciekawosci - a nie lepiej zeby plik konfiguracyjny byl normalnym plikiem php ze zmiennymi ? Np. tak:

[php:1:e9a627dc5e]<?php
$bardzo_wazna_zmienna = 1;
$ilosc_linii_na_stronie = 20;
$aaa = "xxx";
?>[/php:1:e9a627dc5e]

itp ?

Wtedy taki plik wystarczy includowac i mozna normalnie korzystac ze zmiennych. To chyna znacznie prosciej, a o jakichs waznych przeciwskazaniach nie slyszalem jeszcze (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Jabol
post
Post #14





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

Ostrzeżenie: (0%)
-----


[Regis]: Taki plik byłoby trudno zmieniac, chociaz przyznam, ze odczytanie byloby banalne
Go to the top of the page
+Quote Post
spenalzo
post
Post #15





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat
[Regis]: Taki plik byłoby trudno zmieniac, chociaz przyznam, ze odczytanie byloby banalne

Ale w temacie jest plik konfiguracyjny, więc ustawia się to rzadko, najczęściej raz i aktualizacji dokonuje się przeważnie ręcznie.
Go to the top of the page
+Quote Post
_scorpio__
post
Post #16





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 4.08.2003

Ostrzeżenie: (0%)
-----


No wiec czego najlepiej urzyc tak zeby bylo dobre i spelnialo moje/nasze oczekiwania (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Go to the top of the page
+Quote Post
spenalzo
post
Post #17





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat
No wiec czego najlepiej urzyc tak zeby bylo dobre i spelnialo moje/nasze oczekiwania (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?

Napisz, czy to jest plik często czy rzadko uaktualniany. Jeżeli rzadko tam sobie zdefiniuj wartości przypisane do zmiennych, a jak na sztywno to użyj mojego ostatniego skryptu lub jakiegoś innego.
Go to the top of the page
+Quote Post
jono
post
Post #18





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 29.06.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


heh, omawiacie pomysł który rzuciłem kilka postów wcześniej. A edycja takiego pliku z poziomu php?? W sumie, jeżeli nie ma byc zmiennej ilości danych jest prosta.
[php:1:2d7650304c]<?php
$c = 'wartosc ktora chcemy wrzucic';
$d = 'mozna ja pobrac z formularza...';
$zawartosc =
'<?php
$a = ''.$c.'';
$b = ''.$d.'';
?>'

$fp = fopen("config.php", "w");
fputs($fp, $zawartosc);
fclose($fp);

?>[/php:1:2d7650304c]

co da efekt w zapisanym pliku:
[php:1:2d7650304c]<?php
$a = 'wartosc ktora chcemy wrzucic';
$b = 'mozna ja pobrac z formularza...';

?>[/php:1:2d7650304c]

Chociaż i tak poprawiłem, bo skaszaniłem - zapomniałem średnika (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
spenalzo
post
Post #19





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


[php:1:07989b4509]<?php
$a = '.$c.'
$b = '.$d.'
?>[/php:1:07989b4509]
Pamiętaj, że w takim przypadku musisz dać $zmienna, żeby wyświetlił sie/zapisał razem ze znakiem dolara, bo inaczej php podstawi pod to wartość zmiennej.
[php:1:07989b4509]<?php
$a = '.$c.'
$b = '.$d.'
?>[/php:1:07989b4509]
Go to the top of the page
+Quote Post
jono
post
Post #20





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 29.06.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


jeżeli stosujesz ' a nie " to $ nie jest interpretowany - uwierz mi - wielokrotnie takie coś robiłem, łącznie z plikami konfiguracyjnymi oraz z czymś takim jak skrypt php z unikalnym kluczem...
Go to the top of the page
+Quote Post
spenalzo
post
Post #21





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat
jeżeli stosujesz ' a nie " to $ nie jest interpretowany - uwierz mi - wielokrotnie takie coś robiłem, łącznie z plikami konfiguracyjnymi oraz z czymś takim jak skrypt php z unikalnym kluczem...

No tak, sorry - doczytałem w manualu, że to co jest umieszczone w apostrofach nie jest interpretowane, w przeciwieństwie do cudzysłowów.
Go to the top of the page
+Quote Post
_scorpio__
post
Post #22





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 4.08.2003

Ostrzeżenie: (0%)
-----


Czyli ja juz sie zgubilem co najlepiej uzyc ponawiam bo propozycji jest 1000 a nie wszystkie wedlug was sa dobre. Wiec niech ktos przedstawi jedna a dobra
Go to the top of the page
+Quote Post
jono
post
Post #23





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 29.06.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Odpowiedz konkretnie na pytanie:
Czy plik konfiguracyjny ma byc dynamiczny, czy np. będzie tam hasło do bazy danych itp., czyli dane, które się często nie zmieniają?

To jest najważniejsze.
jeżeli nie ma byc dynamiczne, to najlepiej użyj include() i po prostu zmienne, a jeżeli chcesz dynamicznie to inne sposoby.
Go to the top of the page
+Quote Post
_scorpio__
post
Post #24





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 4.08.2003

Ostrzeżenie: (0%)
-----


Tam maja byc danenp ip serwerow kolory strony i zmienne ktore nie beda zapisywane ze strony ale to zadna konkretna baza danych mysql ani nic tylko dane ktore zostana raz po instalacji skryptu zapisane i bede pozniej odczytywane
Go to the top of the page
+Quote Post
jono
post
Post #25





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 29.06.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


NO to zrób jeden plik .php zawierający konkretne zmienne, np
[php:1:1679c2296b]<?php
$tlo = 'white';

?>[/php:1:1679c2296b]

a potem na stronie

[php:1:1679c2296b]<?php
include("conf.php");
echo"<table bgcolor=$tlo>";
//itd...

?>[/php:1:1679c2296b]
Go to the top of the page
+Quote Post
StevDefs
post
Post #26





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 22.08.2019

Ostrzeżenie: (10%)
X----


Possible Side Effects For Amoxicillin Cialis Gravidanza cialis tablets for sale Hydrochlorothiazide Medicine Overseas Plymouth Levitra Bayer Posologia Kamagra Us

Kamagra Oral Jelly 100mg Offers viagra online Viagra Pricelist Levitra Costo On Line

Secure Ordering Fluoxetine Medication Internet Free Shipping Overnight Shippingprozac generic cialis from india Where To Order Zentel Pills Secure Ordering Over Night Buy Retin A Without Prescription No Prescription Atomoxetine

Cialis And Dapoxetine Acheter Cialis Non Generique achat viagra france Cialis Que Es Yahoo Viagra Generikum Forum
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.12.2025 - 08:18