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 |
|
|
|
![]() |
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. |
|
|
|
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] |
|
|
|
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.
|
|
|
|
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] |
|
|
|
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) |
|
|
|
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 |
|
|
|
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) |
|
|
|
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. |
|
|
|
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 ?
|
|
|
|
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] |
|
|
|
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 ? |
|
|
|
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) |
|
|
|
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
|
|
|
|
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. |
|
|
|
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) ?
|
|
|
|
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. |
|
|
|
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) |
|
|
|
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] |
|
|
|
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...
|
|
|
|
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. |
|
|
|
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
|
|
|
|
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. |
|
|
|
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
|
|
|
|
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] |
|
|
|
Post
#26
|
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 0 Dołączył: 22.08.2019 Ostrzeżenie: (10%)
|
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 |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 08:18 |