Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zapisywanie kodu w plikach poprzez fwrite()
Forum PHP.pl > Forum > Przedszkole
coomler
Witam,
na jednej stronie mam cztery formularze, z czego jeden jest żeby wprowadzić dane do połączenia z bazą, a pozostałe trzy z innymi ustawieniami. Zapisuję je do plików za pomocą tytułowej funkcji - fwrite(). Mam cztery pliki, jednak liczbę chciałbym zredukować do dwóch, na bazę i na pozostałe ustawienia. Załóżmy pierwszy formularz uruchamia skrypt, który tworzy plik db.php z danymi dostępowymi do bazy, a pozostałe trzy tworzę również jeden plik, w senesie jeden, nie po jednym.

Teraz przejdźmy do tych trzech formularzy.

  1. pierwszy formularz zapisuje wartość zmiennej $x
  2. pierwszy formularz zapisuje wartość zmiennej $y
  3. pierwszy formularz zapisuje wartość zmiennej $z


Wszystko zapisywane do jednego pliku przez jeden skrypt, ewentualnie trzy skrypty, ale do jednego pliku. fwrite() umożliwia dodawanie danych na końcu, bądź nadpisywanie ich. Ja chciałbym natomiast, aby przy wysłaniu dajmy formularza drugiego, została zmieniona tylko zmienna $y, a reszta pozostała bez zmian. Można powiedzieć to również w ten sposób, każdy z trzech formularzy miałby w pliku z ustawieniami swoją sekcje(linię) i nie wychodziłby poza nią, czyli wysyłam dane z drugiego formularz, który odwołuje się do skryptu, który wie, że ma zapisać dane w 2 drugiej linijce pliku.

Jest taka możliwość?

I jeszcze jedno, zestawik fopen, fwrite, fclose, czy file_put_contents?
skarabe.pl
file_get_contents(), file_put_contents(), ew. zamiast tego pierwszego file() (jeśli wolisz odwoływać się do numeru wiersza zamiast np. wyszukiwać po stringu). Fopen się do tego nie nadaje.

Czy formularze są sekwencyjne? Tj. składają się na jedną sesję konfiguracji? Bo jeśli tak, to może warto by było zbierać wszystkie dane w jednym miejscu (sesji właśnie) i na samym końcu zapisać plik konfiguracyjny linijka po linijce?

Możesz zrobić jeszcze inaczej wykorzystując jeden plik pośredniczący, zawierający tablicę asocjacyjną z wartościami zmiennych, które chcesz później wypluć w plik konfiguracyjny, coś tego typu:

  1. if (file_exists('swap.php')) {
  2. $data = include 'swap.php';
  3. } else {
  4. $data = array();
  5. }
  6.  
  7. $data['x'] = 'costam';
  8. $data['y'] = 'pstrostam';
  9.  
  10. file_put_contents('swap.php', '<' . '?php return ' . var_export($data, true) . ';');


Możliwości masz sporo :)
everth
Może tak prościej przez to
coomler
Bardzo dobre pomysły! Muszę przyznać, że pomysł z tablicami wydaje się dobry. Spróbuję swoich sił i dam znać, najwcześniej jednak jutro.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.