Ta strona stosuje pliki cookies. Poczytaj co to jest w polityka cookies

Kącik początkującego
Dobre programy - tutoriale
Programy biznes
Programowanie PHP

nauczycieli Operacje na plikach w PHP

Operacje na plikach
      Pliki pozwalają zapisywać dane na dysku a dzięki czemu utrwalać efekty naszej pracy. Gdyby nie dało się zapisywać tych wyników naszej pracy efekt ginąłby z chwilą zamknięcia programu, czy komputera.

Początkowo w systemach CMS (systemy do zarządzania treścią na stronach WWW) dane były zapisywane często w zwykłych plikach, jednak operowanie na nich nie jest tak łatwe i efektywne jak posługiwanie się bazami danych. One same co prawda również zapisują wszystko w plikach jednak robią to bardzo efektywnie a sam proces ich obsługi jest bardzo prosty i przyjazny dla nas programistów.

Są jednak systemy CMS, które do dziś zapisują dane w plikach.  Przydaje się to w szczególności na serwerach, gdzie nie ma baz danych, lub ich ilość jest ograniczona. Problem ten jednak obecnie nie jest aż tak newralgiczny jak dawniej, gdyż można skorzystać z wbudowanego w PHP 5 sytemu bazodanowego SQLite, co sprawia, że korzystanie z samych plików nie jest konieczne...

Niemniej jednak niekiedy potrzeba nam odczytać coś z  plików, lub też w nich coś zapisać. Potrzebna jest umiejętność otwarcia pliku chociażby po to, by odczytać z niego dane zapisane w formacie CVS ewentualnie je przetworzyć i wkleić do bazy danych, by później je łatwo prezentować na stronach WWW.

Zatem do dzieła:

Zapis do pliku

$tekst="Jestem tekstem przeznaczonym do zapisania do pliku.";
$plik="plik.txt"
;
$uchwyt=fopen("$plik",'a'
);
fwrite($uchwyt$tekst
);
fclose($uchwyt);

Najpierw otwieramy plik za pomocą komendy fopen, do której przekazujemy nazwę pliku do otwarcia oraz tryb, w naszym przypadku będzie to a - czyli dodawanie.
Musimy pamiętać, że w powyższym przypadku tekst będzie dodawany do pliku, czyli jeśli wywołamy skrypt 10 razy to ten tekst będzie tyle razy dodany do pliku.
Następnie za pomocą komendy fwrite zapisujemy dane do pliku a następnie kończymy połączenie za pomocą fclose.

Gdy zapisujemy łańcuch możemy pokusić się na użycie ławiejszej funkcji a mianowicie:

$tekst="Jestem tekstem przeznaczonym do zapisania do pliku.";
$plik="plik.txt"
;
file_put_contents($plik$test);

Otwarcie pliku do czytania i jego wyświetlenie na ekranie

Pierwszy sposób:
Otwieramy plik znaną już komendą fopen, lecz z innym parametrem "r", który otwiera plik do czytania. Następnie za pomocą funkcji fread czytamy plik pobierając za pomocą funkcji filesize jego rozmiar i przekazujemy go jako drugi parametr do funkcji fread. Całość zapisujemy do zmiennej $zawartosc_pliku, którą następnie wypiszemy na ekranie komendą echo zamykając uprzednio połączenie z plikiem funkcjią fclose.

$plik="plik.txt";
$uchwyt=fopen("$plik",'r'
);
$zawartosc_pliku=fread($uchwytfilesize($plik
));
fclose($uchwyt
);
echo 
$zawartosc_pliku
;

Gdy potrzebujemy czytać plik w postaci łańcucha wówczas możemy posłużyć się również innym prostszym sposobem:

$plik="plik.txt";
echo 
file_get_contents($plik);

Usunięcie pliku

$plik="plik.txt";
unlink($plik);    // Po czym plik znika z dysku, 
//dlatego trzeba rozsądnie korzystać z tej funkcji...

Pytania czy plik istnieje

     Zanim zaczniemy operować na pliku warto dowiedzieć czy jest on w ogóle dostępny, czy da się do niego zapisać itp. Z pomocą przyjdą tu funkcje wbudowane w PHP. 
Pomoże nam to uniknąć dziwnych zachowań programu, gdy okaże się, że plik taki rzeczywiście nie istnieje...

Możemy to też sprawdzić za pomocą funkcji is_readable, is_writable itp.

Ci, którzy potrzebują bardziej rozbudowanych funkcji mogą skorzystać z manuala php.net, gdzie są one zgrupowane i opisane, skąd też częściowo zaczerpnąłem do tego artykułu.


Zobacz inne:

copyright © Pcwiedza.pl