Korzystając z tej strony zgadzasz się z polityką prywatności i regulaminem.
Akceptuj
WebInside.plWebInside.plWebInside.pl
  • Aktualności
  • Technologie
  • WWW
  • E-marketing
  • AI
  • Poradniki
  • e(Biznes)
Szukaj
  • Kontakt
  • Forum
WebInside.pl © 2023.
Czytasz: Przetwarzanie plików PHP
Udostępnij
Zaloguj się
Powiadomienia
Aa
WebInside.plWebInside.pl
Aa
Szukaj
  • Strona główna
  • Aktualności
  • Technologie webowe
  • Publicystyka
  • E-marketing
  • Poradniki
  • AI
  • Technologie
  • Artykuły partnerskie
  • Więcej
    • Kontakt
    • Mapa strony
Masz już konto? Zaloguj się
  • Aktualności
  • Technologie
  • WWW
  • E-marketing
  • AI
  • Poradniki
  • e(Biznes)
WebInside.pl © 2023.
WebInside.pl > Technologie webowe > Przetwarzanie plików PHP
Technologie webowe

Przetwarzanie plików PHP

WebInside.pl
Ostatnia aktualizacja: 14.03.2004
WebInside.pl
Udostępnij
Udostępnij

Często w naszych skryptach używamy zewnętrznych plików, umieszczonych na serwerze. PHP posiada ogromne możliwości do przetwarzania plików. Możemy za jego pomocą odczytywać, edytować lub zapisywać pliki.

Zawartość
Otwieranie plikówTryb otwarcia plikuProblemy z otwieraniem plikówZapisywanie danych do plikuZamykanie plikuOdczyt z pliku

Otwieranie plików

Do otwierania lub zapisywania plików służy funkcja fopen(), która pobiera dwa podstawowe argumenty. Pierwszy z nich to ścieżka do pliku, drugi natomiast to tryb otwarcia pliku, który zostanie opisany w dalszej części artykułu. Aby cokolwiek uczynić z plikiem zewnętrznym, musimy go najpierw otworzyć, i tu potrzebna jest wyżej wspomniana funkcja.

Tryb otwarcia pliku

Jak wspomniałem wcześniej funkcja fopen(), pobiera dwa podstawowe argumenty. W tej części artykułu zajmiemy się właśnie tym drugim, czyli trybem otwarcia pliku. System operacyjny serwera musi wiedzieć w jakim celu otwieramy plik. To właśnie tryb otwarcia pliku przekazuje mechanizmowi przetwarzania żądań dostępu ów metody.
Poniżej znajdują się wszystkie możliwe tryby otwarcia wraz z opisami:

r – tryb odczytu – otwarcie pliku do odczytu, zaczynając od początku pliku

r+ – tryb odczytu – otwarcie pliku do odczytu i zapisu, począwszy od początku pliku

a – tryb dodawania – otwarcie pliku do dodawania zawartości, począwszy od końca istniejącej. Jeżeli plik nie istnieje nastąpi próba jego utworzenia.

a+ – tryb dodawania – otwarcie pliku do dodawania zawartości i odczytu, począwszy od końca istniejącej zawartości. Jeżeli plik nie istnieje nastąpi próba jego utworzenia.

w – tryb zapisu – otwarcie pliku do zapisu począwszy od początku pliku. Jeżeli plik istnieje bieżąca wartość zostanie nadpisana, w przeciwnym wypadku nastąpi próba jego utworzenia.

w+ – tryb zapisu – otwarcie pliku do zapisu i odczytu, poczynając od początku pliku. Jeżeli plik istnieje bieżąca wartość zostanie nadpisana, w przeciwnym wypadku nastąpi próba jego utworzenia.

b – tryb binarny – stosowany w połączeniu z jednym z powyższych typów w wypadku korzystania z systemu rozróżniającego pliki tekstowe i binarne. Windows go rozróżnia, Uniks nie.

Przykładowe wywołanie funkcji fopen(), która otworzy nam plik krzasz.dat w trybie do odczytu:

$fp = fopen(„krzasz.dat”, „r”);

Problemy z otwieraniem plików

Chyba najczęstszym błędem związanym z otwieraniem pliku, jest próba otwarcia pliku do którego nie posiadamy praw odczytu lub zapisu. Należy w takim przypadku nadać skryptowi prawo dostępu do danego pliku. Jednak powyższy błąd nie jest jedyny, istnieje wiele innych błędów związanych z przetwarzaniem plików, jednak nie będę się tu rozpisywał na ich temat, gdyż jest on zbyt rozległy. Wspomnę tylko, że PHP wyświetla każdy błąd podczas interpretacji kodu, aby go stłumić należy na początku linii, umieścić znak @.

Zapisywanie danych do pliku

W PHP w celu zapisu danych najpierw należy otworzyć plik w celu zapisu lub dodawania, następnie należy użyć funkcji fwrite(); Pobiera ona dwa podstawowe parametry. Pierwszy z nich to wskaźnik pliku, zwracany przez funkcję fopen(); oraz drugi, czyli ciąg wyjściowy(dane zapisywane do pliku).
Przykładowy kod który dopisze jedną linię do pliku krzasz.dat:

$fp = fopen(„krzasz.dat”, „w”);
fwrite($fp, „Jedna linia pliku\n”);
fclose($fp);

Zamykanie pliku

W powyższym przykładzie użyłem funkcji fclose(), to właśnie ona zamyka plik. Po zakończeniu korzystania z pliku należy go zamknąć. Funkcja ta pobiera jeden argument, którym jest wskaźnik zamykanego pliku.

Odczyt z pliku

Aby odczytać wprowadzone wcześniej dane z pliku należy go otworzyć w trybie do odczytu.
Do odczytu pliku plików służą funkcję tj. fgets(), fgetss(), oraz fgetcsv(). Ja przedstawię działanie tej pierwszej. Aby odczytać cały plik należy użyć pętli, (najlepiej while) oraz w niej funkcji, która sprawdza, czy odczytaliśmy już cały plik. Funkcja ta to feof() pobiera ona wskaźnik odczytywanego pliku. Funkcja feof() zwraca true, jeżeli wskaźnik pliku znajduje się na jego końcu. Następnie za pomocą fgets(), która odczytuje plik linia po linii, należy pobrać dane z pliku. Funkcja ta pobiera dwa parametry pierwszy z nich to wskaźnik pliku, drugi to liczba bajtów, jaką ma odczytać funkcja.
UWAGA!!! Liczba bajtów odczytanych przez funkcje jest równa liczbie przekazanej do funkcji minus jeden bajt!
Przykładowy kod odczytujący cały plik krzasz.dat przedstawiłem poniżej:

$fp = fopen(„krzasz.dat”, „r”);
while(!feof($fp)){
echo fgets($fp, 4096);
}
fclose($fp);

Na tym należy zakończyć nasz artykuł, jest to dopiero podstawa obsługi plików w PHP. Zapraszam zatem na kolejny artykuł poświęcony interakcji z systemem plików serwera w PHP. W razie jakichkolwiek kłopotów lub niejasności prosimy zadać pytanie na naszym .

Może Cię zainteresować

Atak CSRF (Cross-Site Request Forgery) – na czym polega i jak się przed nim chronić?

Co to jest SFTP i czym różni się od FTP i FTPS?

Dlaczego warto wybrać React.js do budowy interfejsów użytkownika?

Co to jest LAMP? Konfiguracja stosu Linux, Apache, MySQL i PHP

Różnice między SSL a TLS – który protokół jest bezpieczniejszy?

WebInside.pl 2004-03-14 2004-03-14
Udostępnij ten artykuł
Facebook Twitter Kopiuj link Wydrukuj
Udostępnij
Poprzedni artykuł Polskie znaki
Następny artykuł Programowanie zorientowane obiektowo w PHP
Zostaw komentarz lub opinię

Dodaj komentarz Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Najnowsze artykuły

Atak CSRF (Cross-Site Request Forgery) – na czym polega i jak się przed nim chronić?
Technologie webowe
Co to jest IMAP i dlaczego jest lepszy od POP3 do obsługi poczty?
Poradniki
eSIM vs karta SIM – co lepsze w codziennym użytkowaniu?
Technologie
Daemon Tools zainfekowany przez hakerów — twój komputer mógł zostać przejęty
Aktualności
Ile kosztuje Google Workspace? Cennik i przegląd dostępnych planów
e(Biznes)
Co to jest SFTP i czym różni się od FTP i FTPS?
Technologie webowe
Dlaczego warto wybrać React.js do budowy interfejsów użytkownika?
Technologie webowe
Co to jest LAMP? Konfiguracja stosu Linux, Apache, MySQL i PHP
Technologie webowe
Jak sprawdzić, czy domena internetowa jest wolna?
Poradniki
Kim jest IT Product Manager i jakie ma obowiązki?
Poradniki
banner
Chcesz umieścić swoją reklamę w portalu WebInside.pl?
Skontaktuj się z nami, a zaproponujemy interesujące formy reklamy.
Skontaktuj się

Inne polecane artykuły

Technologie webowe

Atak CSRF (Cross-Site Request Forgery) – na czym polega i jak się przed nim chronić?

15 min czytania
Technologie webowe

Co to jest SFTP i czym różni się od FTP i FTPS?

15 min czytania
Technologie webowe

Dlaczego warto wybrać React.js do budowy interfejsów użytkownika?

14 min czytania
Technologie webowe

Co to jest LAMP? Konfiguracja stosu Linux, Apache, MySQL i PHP

16 min czytania
Technologie webowe

Różnice między SSL a TLS – który protokół jest bezpieczniejszy?

16 min czytania
Technologie webowe

Lista domen najwyższego poziomu (TLD) – krajowe, globalne i sponsorowane

17 min czytania
Technologie webowe

Rekordy DNS – typy (A, CNAME, MX, NS) i ich rola w działaniu domeny

19 min czytania
Technologie webowe

Co oznacza opcja SAN w certyfikatach SSL i kiedy jej używać?

16 min czytania
//

WebInside.pl – portal technologiczny. Aktualności ze świata technologii, webmastering, marketing internetowy, AI, poradniki.

 

Partnerzy



Wszystkie kategorie

  • AI
  • Aktualności
  • Artykuły partnerskie
  • E-marketing
  • e(Biznes)
  • Poradniki
  • Publicystyka
  • Technologie
  • Technologie webowe

Ostatnio dodane

  • Atak CSRF (Cross-Site Request Forgery) – na czym polega i jak się przed nim chronić?
  • Co to jest IMAP i dlaczego jest lepszy od POP3 do obsługi poczty?
  • eSIM vs karta SIM – co lepsze w codziennym użytkowaniu?
  • Daemon Tools zainfekowany przez hakerów — twój komputer mógł zostać przejęty

Kontakt

Chcesz się z nami skontaktować? Jesteś zainteresowany reklamą lub artykułem sponsorowanym?

Skorzystaj z formularza kontaktowego lub napisz do nas na kontakt@webinside.pl

WebInside.plWebInside.pl
WebInside.pl © 2023 | Mapa strony | Forum | Polityka prywatności
Witaj ponownie!

Zaloguj się do swojego konta

Zapomniałeś hasła?