Funkcje PHP File(): File_exists, Fopen, Fwrite, Fclose, Fgets, copy, unlink
Co to jest plik?
Plik to po prostu zasób służący do przechowywania informacji na komputerze.
Pliki są zwykle używane do przechowywania informacji takich jak;
- Ustawienia konfiguracyjne programu
- Proste dane, takie jak nazwy kontaktów w zestawieniu z numerami telefonów.
- Obrazy, zdjęcia, itp.
W tym tutorialu, dowiesz się-
- Obsługa formatów plików PHP
- Funkcje plików PHP
- Funkcja PHP File_exists
- Funkcja PHP Fopen
- Funkcja PHP Fwrite
- Funkcja PHP Fclose
- Funkcja PHP Fgets Funkcja
- Funkcja PHP Copy
- Usuwanie pliku
- Funkcja PHP File_get_contents
Obsługa formatów plików PHP
Funkcje plików PHP obsługują szeroki zakres formatów plików, do których należą;
- Plik.txt
- File.log
- File.custom_extension czyli np. file.xyz
- File.csv
- File.gif, file.jpg etc
- Pliki zapewniają stałe, efektywne kosztowo rozwiązanie przechowywania prostych danych w porównaniu z bazami danych, które wymagają innego oprogramowania i umiejętności zarządzania systemami DBMS.
- Chcesz przechowywać proste dane, takie jak logi serwera do późniejszego pobrania i analizy
- Chcesz przechowywać ustawienia programu tj. program.ini
Funkcje plików PHP
PHP zapewnia wygodny sposób pracy z plikami poprzez bogatą kolekcję wbudowanych funkcji.
Systemy operacyjne takie jak Windows i MAC OS nie rozróżniają wielkości liter, podczas gdy systemy operacyjne Linux i Unix rozróżniają wielkość liter.
Przyjęcie konwersji nazewnictwa, takiej jak małe litery tylko dla nazw plików, jest dobrą praktyką, która zapewnia maksymalną kompatybilność między platformami.
Przyjrzyjrzyjmy się teraz niektórym z najczęściej używanych funkcji plików PHP.
Funkcja PHP File_exists
Funkcja ta jest używana do określenia czy plik istnieje czy nie.
- Przydaje się, gdy chcemy wiedzieć, czy plik istnieje, czy nie przed jego przetworzeniem.
- Można również użyć tej funkcji, gdy tworzymy nowy plik i chcemy się upewnić, że plik nie istnieje już na serwerze.
Funkcja file_exist ma następującą składnię.
<?phpfile_exists($filename); ?>
TUTAJ,
- „file_exists()” jest funkcją PHP, która zwraca true, jeśli plik istnieje i false, jeśli nie istnieje.
- „$file_name” jest ścieżką i nazwą pliku do sprawdzenia
Poniższy kod używa funkcji file_exists do określenia, czy plik my_settings.txt istnieje.
<?phpif (file_exists('my_settings.txt')) { echo 'file found!'; } else { echo 'my_settings.txt does not exist'; } ?>
Zapisz powyższy kod w pliku o nazwie file_function.php Zakładając, że zapisałeś plik w folderze phptuts w htdocs, otwórz URL http://localhost/phptuts/file_function.php w przeglądarce Otrzymasz następujące wyniki.
Funkcja PHP Fopen
Funkcja fopen służy do otwierania plików. Ma ona następującą składnię
<?phpfopen($file_name,$mode,$use_include_path,$context); ?>
TUTAJ,
- „fopen” jest funkcją PHP otwierającą plik
- „$file_name” jest nazwą pliku, który ma zostać otwarty
- „$mode” jest trybem, w którym plik powinien zostać otwarty, poniższa tabela pokazuje tryby
Tryb | Opis |
---|---|
r |
|
r+ |
|
w |
|
w+ |
|
a |
|
a+ |
|
- „$use_include_path” jest opcjonalne, domyślnie false, jeśli ustawione na true, funkcja wyszukuje również w ścieżce include.
- „$context” jest opcjonalne, może być użyte do określenia obsługi kontekstu.
Funkcja PHP Fwrite
Funkcja fwrite jest używana do zapisu plików.
Ma ona następującą składnię
<?phpfwrite($handle, $string, $length);?>
TUTAJ,
- „fwrite” jest funkcją PHP służącą do zapisu do plików
- „$handle” jest zasobem wskaźnika pliku
- „$string” jest danymi, które mają być zapisane w pliku.
- „$length” jest opcjonalne, może być użyte do określenia maksymalnej długości pliku.
Funkcja PHP Fclose
Jest używana do zamknięcia pliku w php, który jest już otwarty
Ma następującą składnię.
<?phpfclose($handle); ?>
TUTAJ,
- „fclose” jest funkcją PHP do zamykania otwartego pliku
- „$handle” jest zasobem wskaźnika pliku.
Przyjrzyjmy się teraz przykładowi, który tworzy plik my_settings.txt.
Będziemy używać następujących funkcji.
- Fopen
- Fwrite
- fclose
Poniższy kod „create_my_settings_file.php” implementuje powyższy przykład.
Otwórz plik |
<?php $fh = fopen("my_settings.txt", 'w')ordie("Failed to create file"); ?> |
Zamykanie pliku |
<?phpfclose($fh);?> |
Utwórz plik |
<?php $fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); $text = <<<_END localhost;root;pwd1234;my_database _END; fwrite($fh, $text) or die("Could not write to file"); fclose($fh); echo "File 'my_settings.txt' written successfully"; ?> |
Testowanie kodu
Otwórz adres URL http://localhost/phptuts/create_my_settings.php w przeglądarce.
Uzyskasz następującą stronę
Uwaga: jeśli Twój dysk jest pełny lub nie masz uprawnień do zapisu plików, otrzymasz komunikat o błędzie.
Przełącz się z powrotem na adres URL http://localhost/phptuts/file_function.php .
Jakie wyniki uzyskasz?
Funkcja PHP Fgets
Funkcja fgets jest używana do odczytywania plików php linia po linii. Ma ona następującą podstawową składnię. fgets($handle); HERE,
- „$fgets” jest funkcją PHP do czytania linii pliku
- „$handle” jest zasobem wskaźnika pliku.
Przyjrzyjmy się teraz przykładowi, który czyta plik my_settings.txt używając funkcji fopen i fgets.
Poniższy kod read_my_settings.php implementuje powyższy przykład.
<?php$fh = fopen("my_settings.txt", 'r') or die("File does not exist or you lack permission to open it");$line = fgets($fh);echo $line; fclose($fh); ?>
TUTAJ,
- Funkcja „fopen” zwraca wskaźnik do pliku określonego w ścieżce pliku
- Funkcja „die()” jest wywoływana w przypadku wystąpienia błędu. Wyświetla ona komunikat i przerywa wykonywanie skryptu
Funkcja kopiowania PHP
Funkcja kopiowania PHP służy do kopiowania plików. Ma ona następującą podstawową składnię. copy($file,$kopiowany_pliki); TUTAJ,
- „$file” określa ścieżkę i nazwę pliku, który ma zostać skopiowany.
- „skopiowany_pliki” określa ścieżkę i nazwę kopiowanego pliku
Poniższy kod ilustruje implementację
<?phpcopy('my_settings.txt', 'my_settings_backup.txt') or die("Could not copy file");echo "File successfully copied to 'my_settings_backup.txt'"; ?>
Usuwanie pliku
Funkcja unlink służy do usunięcia pliku. Poniższy kod ilustruje implementację.
<?phpif (!unlink('my_settings_backup.txt')){ echo "Could not delete file"; }else{ echo "File 'my_settings_backup.txt' successfully deleted"; } ?>
Funkcja PHP File_get_contents
Funkcja file_get_contents służy do odczytu całej zawartości pliku.
Poniższy kod ilustruje implementację.
Różnica pomiędzy file_get_contents a fgets polega na tym, że file_get_contents zwraca dane pliku jako ciąg znaków, podczas gdy fgets odczytuje plik linia po linii.
<?phpecho "<pre>"; // Enables display of line feedsecho file_get_contents("my_settings.txt");echo "</pre>"; // Terminates pre tag?>
Podsumowanie
- Plik jest zasobem do przechowywania danych
- PHP posiada bogatą kolekcję wbudowanych funkcji, które upraszczają pracę z plikami.
- Popularne funkcje plików to między innymi fopen, fclose, file_get_contents
- Poniższa tabela przedstawia podsumowanie omawianych funkcji
Funkcja | Opis |
---|---|
File_exists | Służy do określania, czy plik istnieje, czy nie |
fopen | Służy do otwierania pliku. Zwraca wskaźnik do otwartego pliku |
fwrite | Służy do zapisu do plików |
fclose | Służy do do otwierania zamkniętych plików |
fgets | Służy do odczytywania pliku linia po linii |
copy | Służy do kopiowania istniejącego pliku |
unlink | Służy do usuwania istniejącego pliku |
file_get_contents | Służy do do zwracania zawartości pliku w postaci ciągu znaków |