skanuj0179 (8)

skanuj0179 (8)



Rozdział 7. ♦ System plików 191

Do testów wykorzystany został plik o nazwie plik. temp, zapisany w katalogu bieżącym o rozmiarze przekraczającym 2 GB. Jak widać na rysunku 7.2, zwykłe wywołanie funkcji filesize spowodowało pojawianie się wartości ujemnej. Dopiero sformatowanie tego wyniku za pomocą funkcji sprintf (por. rozdział 6., sekcja „Formatowanie specjalne”) spowodowało wyświetlenie prawidłowego rozmiaru. Zastosowany został ciąg formatujący %u.

0ik Edycja Widok Przejdź Jakładki Narzędzia Pomoc

1 3 | U http://localhost/index.php

ń

♦ Rozpocznij przygód... O Aktualności

Rysunek 7.2.

Zastosowanie funkcji sprintf do formatowania wyników funkcji


Wynik wywołania filesize na pliku o wielkości powyżej 2GB: -1673520640

Wynik sformatowany za pomocą funkcji sprintf:

2621446656

Przy pisaniu skryptów przydatne są również funkcje pozwalające stwierdzić, czy dany element jest plikiem, czy katalogiem. Funkcja i s_f i 1 e pozwala ustalić, czy ciąg znaków przekazany jej w postaci argumentu wskazuje na plik. Z kolei i s_di r pozwala stwierdzić, czy ciąg znaków przekazany jej w postaci argumentu wskazuje na katalog. Przykładowo jeśli w katalogu bieżącym istnieje plik o nazwiefile.txt, to wywołanie: is_file('./fi1e.txt')

zwróci wartość true, jeśli natomiast w katalogu bieżącym nie będzie pliku o takiej nazwie, wywołanie to zwróci wartość false. Podobnie, jeśli istnieje katalog o ścieżce dostępu /usr/tmp/abc/, to wywołanie: i s_di r('/usr/tmp/abc/')

zwróci wartość true, jeśli natomiast takiego katalogu nie będzie, wywołanie to zwróci wartość false.

Miejsce na dysku

Jeśli chcemy uzyskać informacje o ilości wolnego miejsca na dysku, możemy skorzystać z funkcji disk_free_space. Funkcja ta jest dostępna począwszy od PHP w wersji 4.1.0. Przyjmuje ona w postaci argumentu nazwę katalogu i zwraca ilość wolnego miejsca (w bajtach) na dysku logicznym (lub partycji), na którym znajduje się ten katalog. Poprawne są zatem wywołania:

disk_free_space(7') di sk_free_space('./') di sk_free_space('/usr/tmp')

W przypadku pracy z systemem Windows, mogą mieć one również postać:

di sk_free_space('c:W') disk_free_space( 'd.-Wsystem')


Wyszukiwarka

Podobne podstrony:
skanuj0201 (4) Rozdział 7. ♦ System plików 213 a zatem jeśli do skryptu ankieta.php zostanie przekaz
17539 skanuj0181 (7) Rozdział 7. ♦ System plików 193Usuwanie zawartości katalogu Konstrukcję bardzo
73096 skanuj0205 (4) Rozdział 7. ♦ System plików 217Logowanie Jeżeli chcemy ograniczyć dostęp do nas


więcej podobnych podstron