Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]zapis tablicy do pliku
szybki
post 5.07.2016, 10:41:58
Post #1





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 18.06.2014

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


Jak zapisać tablicę php do pliku, tak aby była przyjazna dla człowieka?

Obecnie PHP dla takiego kodu:

  1. $arr = ['aaa','bbb'];
  2.  
  3. file_put_contents(var_export($arr), 'x.php');


Wyrzuci:

Cytat
Array
(
[0] => zxc
[1] => zxcs
)



Ten post edytował szybki 5.07.2016, 10:45:38
Go to the top of the page
+Quote Post
viking
post 5.07.2016, 10:48:09
Post #2





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


http://php.net/manual/pl/function.fputcsv.php


--------------------
Go to the top of the page
+Quote Post
szybki
post 5.07.2016, 10:53:50
Post #3





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 18.06.2014

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


Ale to musi być tablica php. Wiem, że mogę zapisać tablicę jako csv, json itp. ale nie o to w tym chodzi. Np tłumacz dostawał do tej pory plik gdzie była prosta zasada tłumaczenia tego co jest po prawej np

Cytat
'aaa' => 'aaaaaaa',
'aaa' => 'aaaaaaa',
'aaa' => 'aaaaaaa',
'aaa' => 'aaaaaaa',
'aaa' => 'aaaaaaa',
'aaa' => 'aaaaaaa',


I to się sprawdzało, od jakiej wersji w ogóle to zmienili i po co? Zresztą tłumaczenie to pikuś, ale co z plikami konfiguracyjnymi gdyby ktoś chciał edytować je ręcznie? Przy tablicy wielowymiarowej robi się bałagan
Go to the top of the page
+Quote Post
nospor
post 5.07.2016, 10:57:21
Post #4





Grupa: Moderatorzy
Postów: 36 447
Pomógł: 6292
Dołączył: 27.12.2004




Cytat
ale co z plikami konfiguracyjnymi gdyby ktoś chciał edytować je ręcznie?
hm.... po to wymyslono pliki .yml ?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
szybki
post 5.07.2016, 11:01:25
Post #5





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 18.06.2014

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


Yml nie jest natywny w php, poza tym to nie rozwiązuje problemu
Go to the top of the page
+Quote Post
nospor
post 5.07.2016, 11:02:56
Post #6





Grupa: Moderatorzy
Postów: 36 447
Pomógł: 6292
Dołączył: 27.12.2004




http://php.net/manual/en/function.yaml-parse-file.php

I tak, to rozwiazuje problem. Chciales miec ladny plik konfiguracyjny to masz - YML.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
szybki
post 5.07.2016, 11:05:47
Post #7





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 18.06.2014

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


Tak jak napisałem YML nie jest natywną częścią PHP, nie ma tej funkcji chociażby na zwykłych hostingach, tak wiem że są klasy itp ale nie o to chodzi. Przez lata var_export działał poprawnie, nie dodawał liczby do pola tablicy jeśli ta nie była nazwą... a teraz się to zmieniło i prowadza tyko zamieszanie...
Go to the top of the page
+Quote Post
Pyton_000
post 5.07.2016, 11:10:19
Post #8





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


  1. file_put_contents($filename, '<?php $arr = ' . var_export($arr, true) . ';');
Go to the top of the page
+Quote Post
nospor
post 5.07.2016, 11:10:34
Post #9





Grupa: Moderatorzy
Postów: 36 447
Pomógł: 6292
Dołączył: 27.12.2004




Cytat
Przez lata var_export działał poprawnie, nie dodawał liczby do pola tablicy jeśli ta nie była nazwą... a teraz się to zmieniło i prowadza tyko zamieszanie...
A, a to ciekawe. Mozesz mi pokazac jakiego rezultatu oczekujesz od var_dump jesli nie

Array
(
[0] => zxc
[1] => zxcs
)


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
szybki
post 5.07.2016, 11:11:25
Post #10





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 18.06.2014

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


Pyton_000 - czytaj uważniej pierwszy post wink.gif
Go to the top of the page
+Quote Post
Pyton_000
post 5.07.2016, 11:13:17
Post #11





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


@szybki to wyrażaj się precyzyjnie. Podałem Ci rozwiązanie i zamiast zwracać mi uwagę że nie umiem czytać lepiej byś pokazał jaki wynik Cię satysfakcjonuje...
Go to the top of the page
+Quote Post
viking
post 5.07.2016, 11:16:24
Post #12





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Skoro są to tłumaczenia powinieneś używać http://php.net/manual/en/function.gettext.php lub inną implementację. Wtedy tłumacz robi wszystko w odpowiednim programie.
A co z plikami konfiguracyjnymi? Standardem są zwykłe tablice i po to jest też skrócona składnia [].
Co się zmieniło według ciebie? var_export od v4 działa w ten sposób.

Ten post edytował viking 5.07.2016, 11:17:02


--------------------
Go to the top of the page
+Quote Post
IAmBoskiM
post 5.07.2016, 19:58:30
Post #13





Grupa: Zarejestrowani
Postów: 72
Pomógł: 11
Dołączył: 8.05.2016

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


  1. foreach ($array as $key => $value) {
  2. if (is_string($key)) {
  3. file_put_contents($filename, "'$key'", FILE_APPEND);
  4. } else {
  5. file_put_contents($filename, $key, FILE_APPEND);
  6. }
  7. file_put_contents($filename, " => {$value},\n", FILE_APPEND);
  8. }


Tylko że to nie zadziałała w razie tablic wielowymiarowych.

Ten post edytował IAmBoskiM 5.07.2016, 20:40:34
Go to the top of the page
+Quote Post
StevDefs
post 26.08.2019, 21:40:00
Post #14





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

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


Discount Free Shipping Dutasteride Real Store cialis vs viagra Sun Exposure And Amoxicillin Buy Viagra Without Prescription Doxycycline
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 22:12