10344 skanuj0190 (5)

10344 skanuj0190 (5)



202 PHP i MySQL dla każdego

Listing 7.13. Alternatywna metoda odczytu całego pliku przy użyciu funkcji fread

<?php

if(!$fd - fopenCtest.txt'. 'rb‘)) exit("Nie mogę otworzyć pliku test.txt"): do{

$str - fread($fd. 4096): if(strlen($str) — 0) break: echo(Sstr):

}

while(true):

fclose(Sfd):

Odczyt całego pliku

Jeśli zamierzamy odczytać naraz całą zawartość pliku, można to zrobić na kilka sposobów. Sposób pierwszy to wykorzystanie przedstawionej powyżej funkcji fread, której jako drugi argument zostanie przekazana wielkość pliku. Wartość tego argumentu możemy uzyskać wywołując funkcję filesize. Przykładowy kod odczytujący tą metodą całą zwartość pliku test.txt został przedstawiony na listingu 7.14.

Listing 7.14. Odczytanie całej zawartości pliku za pomocą funkcji fread_

<?php

Sfilenane = 'test.txt': if(!$fd = fopen($filename. 'rb')) exit(”Nie mogę otworzyć pliku Jfilename"): echo fread($fd. filesize($filename)): fclose(Jfd):

?>

Czynność taka może jednak zostać przeprowadzona znacznie prościej, jeśli skorzystamy z funkcji dedykowanych fpassthru lub readfile. Wywołanie funkcji fpassthru ma schematyczną postać: fpassthru(deskryptor)

gdzie deskryptor to wskaźnik pliku zwrócony przez wywołanie funkcji fopen. Funkcja odczytuje zawartość pliku i wysyła ją do standardowego wyjścia — w typowych zastosowaniach do przeglądarki. Zwracaną wartością jest liczba odczytanych bajtów lub też wartość fal se, jeżeli odczyt nie zakończył się powodzeniem. Odczyt i wysłanie do przeglądarki zawartości testowego pliku można zatem przeprowadzić za pomocą następującego fragmentu kodu:

<?php

if(!$fd = fopenCtest.txt". 'rb')) exit("Nie mogę otworzyć pliku test.txt"); fpassthru($fd): fclose($fd):


Wyszukiwarka

Podobne podstrony:
skanuj0355 (2) 370 PHP i MySQL dla każdego Listing 13.7. Wyświetlenie zawartości tabeli z możliwości
21414 skanuj0355 (2) 370 PHP i MySQL dla każdego Listing 13.7. Wyświetlenie zawartości tabeli z możl
21414 skanuj0355 (2) 370 PHP i MySQL dla każdego Listing 13.7. Wyświetlenie zawartości tabeli z możl
skanuj0163 (9) 174 PHP i MySQL dla każdego Listing 6.12. Wykorzystanie funkcji strtok <?php $str
skanuj0026 (187) PHP i MySQL dla każdego Listing 2.9. Zmienna zmieniająca typ w trakcie działania
skanuj0447 464 PHP i MySQL dla każdego Listing 17.5. Treść pliku newsJorm.php <?php $news_form_co
skanuj0151 (9) 162 PHP i MySQL dla każdego Listing 6.5. Wykorzystanie funkcji zmieniających wielkość
73388 skanuj0188 (5) 200 PHP i MySQL dla każdego Listing 7.10. Odczytanie zawartości pliku tekstoweg
14988 skanuj0386 (2) 402 PHP i MySQL dla każdego Listing 15.2. Funkcja identyfikująca typy systemów
15605 skanuj0163 (9) 174 PHP i MySQL dla każdego Listing 6.12. Wykorzystanie funkcji strtok <?php

więcej podobnych podstron