BAZA WIEDZY
KURSY
Bazy danych w PHP
Kurs AdvancedAJAX
Kurs ASP
Kurs ASP.NET
Kurs C++
Kurs CSS
Kurs HTML
Kurs HTML drugi
Kurs JavaScript
Kurs MySQL
Kurs PHP
Kurs RSS
Kurs XHTML
Obiekty DOM
MANUALE
CSS1 - W3C
DOM - w budowie
PHP 2005
PHP 2006
Wyrażenia regularne
SHOUTBOX
STAT
Online: 107 | UU: 3358

Odczyt z plików

Odczyt z pliku może być przeprowadzany na 2 sposoby jeden to "niskopoziomowe" czytanie danych z pliku za pomocą funkcji fread( int wskaźnik, int długość). Czyta ona dane odczytane z pliku, określonego przez utworzony wcześniej „wskaźnik” (jak pisałem wcześniej, wskaźniki są zwracane przez funkcję fopen()). Dane są czytane do długości określonej w drugim parametrze. Jeśli danych jest mniej niż podana długość, to poprostu zwrócone zostaną wszystkie dane z pliku.

Funkcja fread() powoduje przesunięcie wewnętrznego wskaźnika pliku - do miejsca, w którym zakończyło się czytanie. Może teraz jakiś przykład. Mamy przykładowy plik test.txt - z dowolną treścią.

Przykład 11.2. Odczyt danych z pliku



<?php
   $fp 
fopen("test.txt""r");
   
$tekst fread($fp10);
?>

Funkcją fopen otwarty został plik do odczytu a następnie odczytanych zostało z niego 10 znaków, a więc zmienna $tekst będzie zawierała "To jest pr". Przesunięty został wewnętrzny wskaźnik pliku, a więc następne wywołanie linii "$tekst = fread($fp, 10)" spowoduje, że w tej zmiennej będzie tekst "zykładowy " - poprostu następne czytanie zacząło się od miejsca, w który zakończyło czytać poprzednie wywołanie tej funkcji.

Jeszcze może praktyczny przykład - jak wczytać cały plik do zmiennej? Trzeba do tego użyć jeszcze jednej funkcji - filesize( string nazwa_pliku ). Jak widać, różni się ona od pozostałych funkcji tym, że nie pobiera jako parametr wskaźnika do pliku ale nazwę pliku. Pobieranie całości pliku do zmiennej można załatwić jedną linijką.

Przykład 11.3. Wczytywanie całości pliku



<?php
   $dane 
fread(fopen("nazwa_pliku""r"), filesize("nazwa_pliku"));
?>

Funkcja fread() będzie czytać dane bez przerwy - od początku pliku do końca, ignorując znaki końca linii - dla tej funkcji to poprostu zwykły znak.

Cały plik można wczytać też w jeszcze jeden sposób. Funkcja file($nazwa_pliku) zwraca tablicę, w której każdy element jest osobnym wierszem z pliku, którego nazwa jest podana w parametrze. Funkcję tą można wykorzystać do wczytania całego pliku do jednego stringa.

Przykład 11.4. Wczytywanie całości pliku przy użyciu funkcji file



<?php
   $plik 
implode(''file('nazwa_pliku'));
?>

Samo wczytanie pliku do tablicy może być przydatne. Traktując plik jako bazę danych, w której każdy wiersz to jeden rekord, wczytanie takiego pliku od razu do tablicy oszczędza wiele pracy przy ręcznym rozbijaniu pliku na wiersze.

Copyright © 2006-2011 egrafik.pl | Kontakt | Reklama | Projekty domów
jocker