PHP obsługuje liczne operacje na plikach. Możemy je czytać, tworzyć czy edytować. Pełna lista funkcji dostępna jest w
dokumentacji PHP
Funkcją do wczytywania zawartości pliku jako łańcuch służy funkcja
file_get_contents() (PHP 4 >= 4.3.0, PHP 5), która jako parametr przyjmuje ścieżkę do pliku. Jeżeli w php.ini parametr
allow_url_fopen ustawiony jest na "On" to można także podawać adresy URL do plików. Oto przykłady:
<?php
// wczytanie pliku
$plik = file_get_contents('plik.txt');
echo $plik;
// wczytanie pliku przez URL
$plik = file_get_contents('http://www.google.pl');
echo '<br /><br />';
highlight_string($plik);
?>
Inną funkcją służącą do wczytywania zawartości plików jest
file() (PHP 4, PHP 5), która wczytuje zawartość pliku do tablicy, gdzie każdy wiersz pliku staje się elementem tablicy.
file() oczekuje ścieżki lub URLa do pliku jaki ma być otwarty. Oto przykład:
<?php
$plik = file('plik.txt');
echo '<pre>';
print_r($plik);
?>
Do zapisu danych do pliku tekstowe służy funkcja
file_put_contents(PLIK, DANE); (PHP 5) oczekującą dwóch argumentów - nazwy pliku i danych. Przykład:
file_put_contents('plik2.txt', 'treść');
W PHP4 można zastosować trio
fopen(),
fwrite() i
fclose():
<?php
$wskaz = fopen("plik2.txt", "w");
fwrite($wskaz,'dane');
fclose($wskaz);
fopen oczekuje dwóch argumentów - ścieżki lub URLa do pliku oraz określenia trybu trybu otwarcia pliku:
- r - otwiera plik do odczytu
- r+ - otwiera plik do odczytu i zapisu
- w - otwiera tylko do zapisu. Jeśli plik nie istnieje to próbuje go utworzyć.
- w+ - otwiera do odczytu i zapisu. Jeśli plik nie istnieje to próbuje go utworzyć.
W powyższym przykładzie użyliśmy "w", czyli tryb zapisu. Funkcja
fopen() zwraca uchwyt (wskaźnik) do otwartego pliku, który musimy przekazywać pozostałym funkcjom.
fwrite zapisuje podane dane, a
fclose zamyka uchwyt. Możliwy jest również odczyt danych:
<?php
$wskaz = fopen("plik2.txt", "r");
while($wiersz = @fgets($wskaz, 1024))
{
echo $wiersz;
}
fclose($wskaz);
Zaleca się stosowanie
file_get_contents czy
file.
- file_exists(ŚCIEŻKA) - zwraca wartość True jeżeli ścieżka prowadzi do istniejącego pliku (plik istnieje)
- filesize(ŚCIEŻKA) - zwraca rozmiar pliku w bajtach
- filemtime(ŚCIEŻKA) - zwraca datę modyfikacji pliku jako znacznik czasu
- is_dir(ŚCIEŻKA) - zwraca wartość True jeżeli podana ścieżka prowadzi do katalogu
- is_file(ŚCIEŻKA) - zwraca wartość True jeżeli podana ścieżka prowadzi do pliku
- is_readable(ŚCIEŻKA) - zwraca wartość True jeżeli można czytać dany plik
- is_writable(ŚCIEŻKA) - zwraca wartość True jeżeli można pisać do podanego pliku
- Dodany: 14.07.2008 przez riklaunim