Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Zapisywanie i wczytywanie do jednego pliku TXT
Forum PHP.pl > Forum > Przedszkole
elmoxy
Jestem nowy na forum więc CZEŚĆ exclamation.gif! + !
Swoją przygodę z PHP zacząłem wczoraj kiedy kupiłem sobie książkę "PHP i MySQL tworzenie stron WWW Vademecum profesjonalisty " W rodziale z zapisywaniem i odczytywaniem plików nie za bardzo wszystko rozumiem wstydnis.gif chcę zapisać wartość zmiennej do pliku TXT a później go odczytać i wsadzić do tej samej zmiennej. Da się tak ? Z tego co tam z ksążki wykombinowałem (chyba wszedzie będą błędy ) to tak
  1. <?php
  2. $dolar = 15
  3. $dolar = fopen("$SERVER['DOCUMENT_ROOT']/dane.txt", 'w');
  4. fwrite($dolar, $abc, strlen($abc));
  5. flock($dolar, LOCK_UN);
  6. fclose($dolar);
  7. ?>

To tylko zapis.
Jestem max. zielony więc prosze o kod z wyjaśnieniem (szczegółowym, nie chcę kopiowac czegoś czego nie rozumiem)
Savail
$dolar = fopen('ścieżka do pliku', 'rodzaj zapisu'); O tym przeczytaj Tutaj
Jeżeli wartość $dolar chciałeś zapisać to musisz zmienić na
$abc = 15
bo zmienna którą chcesz zapisać musi się nazywać inaczej niż zmienna która jest uchwytem
fwrite($uchwyt, 'tekst do zapisania', 'długość tekstu'); A funkcja strlen($abc) liczy ilość znaków przypisanych do $abc(czyli można tak zmierzyć długość tekstu)
o flocku masz Tutaj. Nagłówek: BLOKOWANIE PLIKÓW

Szczerze to nie warto się nawet uczyć operacji na plikach tekstowych w php, bo póżniej w ogóle tego używać nie będziesz i zapomnisz i tak. Przeczytaj jakiś kurs mysql, to jest zapisywanie danych w bazach danych.
muk4
  1. <?
  2. $zmienna = 15;
  3. file_put_contents($SERVER['DOCUMENT_ROOT']."/dane.txt", $zmienna) // zapisanie do pliku zmiennej
  4. $odczyt = file_get_content($SERVER['DOCUMENT_ROOT']."/dane.txt"); // odczyt wartości i zapisanie do zmiennej
  5. echo $odczyt; // 15
  6. ?>
thek
Pytanie... po co zapisywać i odczytywać plik? Wystarczy zapis i posługiwanie się tą samą zmienną. To tak samo jakbyś miał oryginał, zrobił kopię i korzystał z kopii, mając wciąż oryginał w ręku smile.gif
Innymi słowy po co bawić się w to co choćby napisał muk4. Linijkę z odczytem można by pominąć, wciąż operując na $zmienna. Odpada nam wtedy czytanie z pliku jako nadmiarowa i niepotrzebna tak naprawdę operacja. Może teraz tego nie widzisz w ten sposób, ale tak się między innymi optymalizuje skrypty - usuwając zbędne funkcje, wywołania, wszystko co zajmuje niepotrzebnie czas.
elmoxy
Chodzi o to że chcę żeby wartość zmiennej była dostępna w kolejnych podstronach, może da się inaczej ? ( oprócz MySQL )
muk4
@thek
Ale mu raczej chodziło ogólnie o odczytanie wartości z pliku, a nie odczytanie zaraz po zapisaniu.

@elmoxy
Cytat(elmoxy @ 3.07.2010, 13:57:58 ) *
Chodzi o to że chcę żeby wartość zmiennej była dostępna w kolejnych podstronach, może da się inaczej ? ( oprócz MySQL )

No wyprzedził skubany tongue.gif
A co do pytania to: plik, baza danych, sesje, ciasteczka.
elmoxy
Cytat(muk4 @ 3.07.2010, 01:54:36 ) *
  1. <?
  2. $zmienna = 15;
  3. file_put_contents($SERVER['DOCUMENT_ROOT']."/dane.txt", $zmienna) // zapisanie do pliku zmiennej
  4. $odczyt = file_get_content($SERVER['DOCUMENT_ROOT']."/dane.txt"); // odczyt wartości i zapisanie do zmiennej
  5. echo $odczyt; // 15
  6. ?>

nie działa blinksmiley.gif błąd
Cytat
Parse error: syntax error, unexpected T_VARIABLE on line 4

ale z sesjami się udało guitar.gif
muk4
@UP
  1. file_put_contents($SERVER['DOCUMENT_ROOT']."/dane.txt", $zmienna)

nie dałem tutaj ; smile.gif


Troche poprawiłem kod dla potomnych:
  1. <?php
  2. $path = 'dane.txt'; //nazwa pliku który będzie utworzony tam gdzie jest skrypt
  3. $zmienna = 15;
  4. file_put_contents($path, $zmienna); // zapisanie do pliku zmiennej
  5. $odczyt = file_get_contents($path); // odczyt wartości i zapisanie do zmiennej
  6. echo $odczyt; // 15
  7. ?>
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.