190 PHP i MySQL dia każdego
gdzie nazwa jest nazwą nowego katalogu bieżącego. Pamiętać należy oczywiście, że aparat wykonawczy PHP musi mieć prawa dostępu do katalogu wskazywanego przez nazwa, inaczej operacja zmiany zakończy się niepowodzeniem. Funkcja chdi r zwraca wartość true, o ile udało się zmienić katalog bieżący, lub fal se — w przeciwnym wypadku.
Jeżeli chcemy się dowiedzieć, jaki jest aktualny katalog bieżący, powinniśmy użyć funkcji getcwd (z ang. get current working directory), która zwraca jego nazwę w postaci ciągu znaków. Funkcja ta nie przyjmuje żadnych argumentów.
PHP zawiera szereg funkcji, które pozwalają na uzyskanie różnych informacji o plikach i katalogach. Często np. trzeba sprawdzić, czy plik o zadanej nazwie znajduje się na dysku lub też jaką ma długość. Tę pierwszą czynność można wykonać za pomocą funkcji file_exi sts. Jej schematyczne wywołanie ma postać: file_exists('nazwa')
gdzie nazwa oznacza nazwę pliku (wraz ze ścieżką dostępu), którego obecność chcemy zweryfikować. Funkcja zwraca wartość true, jeżeli plik znajduje się w podanej lokalizacji, lub wartość fal se — w przeciwnym wypadku. Podobnie jak w przypadku innych funkcji operujących na plikach, jeżeli parametr nazwa zawiera jedynie nazwę pliku, bez ścieżki dostępu, przyjmuje się, że sprawdzana będzie obecność pliku w katalogu bieżącym.
Rozmiar pliku można sprawdzić wywołując funkcję o nazwie fi lesize, schematycznie: fi 1 esize('nazwa')
Funkcja zwraca wielkość pliku w bajtach w postaci wartości typu integer. Należy podkreślić, że pozwala to na prawidłowy odczyt jedynie plików o wielkości do 2 GB. Dla plików o wielkościach od 2 GB do 4 GB prawidłowy rozmiar można uzyskać stosując formatowanie wyniku za pomocą funkcji printf (lub sprintf). Obrazuje to kod z listingu 7.4.
Listing 7.4. Sposoby wykorzystania funkcji filesize_
<html>
<head>
<title>Rozmiar pliku</title>
</head>
<body>
<?php
echoCWynik wywołania filesize na pliku o wielkości powyżej 2GB:<br>"): echo fi 1esize("./plik.temp"):
echo(“<br>Wynik sformatowany za pomocą funkcji sprintf:<br>"): echo sprintfClu". fil esi zet", /plik. temp”)):
?>
-/body>
=/html>