Operacje we/wy na plikach w PHP

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 8144 razy

Do otwierania pliku w PHP służy funkcja fopen zaś do jego zamknięcia funkcja fclose. Funkcja fopen przyjmuje dwa podstawowe argumentu:

Oto prosty przykład kodu wykonującego operacje na pliku:

<?php $file = fopen("file.txt", 'w+'); // otwieranie pliku do odczytu i zapisu echo("<p>Położenie wskaźnika w pliku: " . ftell($file) . "</p>"); // ftell służy do odczytania pozycji wskaźnika pliku fwrite($file, "tekstn"); // fwrite służy do zapisu danych do pliku echo("<p>Położenie wskaźnika w pliku: " . ftell($file) . "</p>"); // ponowne użycie ftell żeby pokazać, że położenie wskaźnika przesunęło się o długość dodanego tekstu fwrite($file, "tekst2"); // zapis kolejnego tekstu fseek($file, 0); // ustawienie wskaźnika za pomocą fseek na początku pliku echo("<p>Położenie wskaźnika w pliku: " . ftell($file) . "</p>"); // wyświetlenie bieżącej pozycji wskaźnika fseek($file, 0, SEEK_END); // ustawienie położenia wskaźnika na końcu pliku echo("<p>Położenie wskaźnika w pliku: " . ftell($file) . "</p>"); // wyświetlenie położenia wskaźnika fseek($file, 5); // ustawienie wskaźnika na 5 znaków od początku pliku fseek($file, 5, SEEK_CUR); // przesunięcie wskaźnika o 5 znaków względem bieżącej pozycji echo("<p>Położenie wskaźnika w pliku: " . ftell($file) . "</p>"); // wyświetlenie wyniku przesunięcia fseek($file, 0, SEEK_END); // ustawienie wskaźnika na koniec pliku $size = ftell($file); // odczyt długości pliku fseek($file, 0); // ustawienie wskaźnika pliku na początek echo("<p>Odczyt danych z pliku: " . fread($file, $size) . "</p>"); // odczyt całego pliku fclose($file); // zamykanie pliku ?>

Wynik powyższego kodu:

Położenie wskaźnika w pliku: 0

Położenie wskaźnika w pliku: 6

Położenie wskaźnika w pliku: 0

Położenie wskaźnika w pliku: 12

Położenie wskaźnika w pliku: 10

Odczyt danych z pliku: tekst tekst2

Propozycje książek