Podręcznik PHP
Poprzedni |  | Następny

# fread

(PHP 3, PHP 4, PHP 5)

fread -- Odczyt pliku binarnie bezpieczy

## Opis

string fread ( resource uchwyt, int długość )

fread() odczytuje do `długość` bajtów ze wskaźnika pliku określonego przez `uchwyt`. Czytanie kończy się gdy odczytano `długość` bajtów, osiągnięty został koniec pliku (EOF), (dla sieciowych strumieni), kiedy pakiet stanie się dostępny lub (po otwarciu strumienia z przestrzeni użytkownika) kiedy 8192 bajtów zostanie odczytanych, cokolwiek nastąpi pierwsze.

Zwraca łańcuch znaków lub `FALSE` w przypadku błędu.

`<?php // pobierz zawartość pliku do łańcucha $nazwa_pliku = "/usr/local/jakis.txt"; $uchwyt = fopen($nazwa_pliku, "r"); $tresc = fread($uchwyt, filesize($nazwa_pliku)); fclose($uchwyt); ?>`

Ostrzeżenie
W systemach, które rozróżniają pliki binarne i tekstowe (np. Windows) plik musi zostać otworzony z 'b' dołączonym do parametru tryb fopen().

`<?php $nazwa_pliku = "c:\\pliki\\jakisobrazek.gif"; $uchwyt = fopen($nazwa_pliku, "rb"); $tresc = fread($uchwyt, filesize($nazwa_pliku)); fclose($uchwyt); ?>`

Ostrzeżenie
Kiedy następuje odczyt z czegokolwiek innego niż zwykłe lokalne pliki, takich jak strumienie zwrócone gdy odczytujesz zdalne pliki lub z popen() i fsockopen(), odczyt zakończy się po tym jak pakiet jest dostępny. To znaczy, że powinieneś gromadzić dane razem z kawałków jak pokazano na poniższych przykładach.

`<?php // dla PHP 5 i nowszych $uchwyt = fopen("http://www.example.com/", "rb"); $tresc = stream_get_contents($uchwyt); fclose($uchwyt); ?>`

`<?php $uchwyt = fopen("http://www.przykladowy.com/", "rb"); $tresc = ''; while (!feof($uchwyt)) { $tresc .= fread($uchwyt, 8192); } fclose($uchwyt); ?>`

> Notatka: Jeśli po prostu chcesz otrzymać treść pliku w stringu, użyj file_get_contents() dlatego, że ma to dużo lepszą wydajność niż kod powyżej.

Patrz także: fwrite(), fopen(), fsockopen(), popen(), fgets(), fgetss(), fscanf(), file() i fpassthru().

Poprzedni | Spis treści | Następny
fputs | Początek rozdziału | fscanf