Obsługa i funkcje plików PHP().
⚡ Inteligentne podsumowanie
Przetwarzanie plików w PHP wykorzystuje bogaty zestaw wbudowanych funkcji do tworzenia, odczytu, zapisu, kopiowania i usuwania plików na serwerze. Ten przewodnik obejmuje funkcje file_exists, fopen i ich tryby, fwrite, fclose, fgets, copy, unlink oraz file_get_contents wraz z praktycznymi przykładami.
Co to jest plik?
Plik to po prostu zasób służący do przechowywania informacji na komputerze.
Pliki służą zazwyczaj do przechowywania informacji takich jak:
- Ustawienia konfiguracyjne programu
- Proste dane, takie jak nazwiska kontaktów i numery telefonów.
- Obrazy, zdjęcia, fotografie i podobne media.
Obsługa formatów plików PHP
Funkcje plików PHP obsługują szeroką gamę formatów plików, w tym:
- Plik.txt
- Plik.log
- File.custom_extension, czyli file.xyz
- Plik.csv
- Plik.gif, plik.jpg i podobne formaty obrazów
Pliki są przydatne w kilku sytuacjach:
- Stanowią trwałe i ekonomiczne rozwiązanie do przechowywania prostych danych, w porównaniu z bazami danych, które wymagają innego oprogramowania i umiejętności do zarządzania systemami DBMS.
- Chcesz przechowywać proste dane, takie jak logi serwera, w celu późniejszego pobrania i analizy.
- Chcesz zapisać ustawienia programu, czyli program.ini
Funkcje plików PHP
PHP zapewnia wygodny sposób pracy z plikami dzięki bogatemu zestawowi wbudowanych funkcji.
Operasystemy tingowe, np Windows oraz macOS nie są rozróżniane wielkością liter, podczas gdy Linux or Unix Systemy operacyjne rozróżniają wielkość liter.
Dobrą praktyką jest przyjęcie konwencji nazewnictwa, np. używanie w nazwach plików tylko małych liter, co gwarantuje maksymalną kompatybilność między platformami.
Przyjrzyjmy się teraz niektórym najczęściej używanym funkcjom plików PHP.
PHP file_exists() Funkcja
Ta funkcja służy do określenia, czy plik istnieje, czy nie.
- Przydaje się, gdy chcemy się dowiedzieć, czy plik istnieje, zanim zaczniemy go przetwarzać.
- Możesz skorzystać z tej funkcji również podczas tworzenia nowego pliku i chcesz mieć pewność, że plik nie istnieje już na serwerze.
Funkcja file_exists ma następującą składnię.
<?php file_exists($filename); ?>
TUTAJ,
- „file_exists()” to funkcja PHP, która zwraca wartość true, jeśli plik istnieje, i false, jeśli nie istnieje.
- „$filename” to ścieżka i nazwa pliku, który ma zostać sprawdzony
Poniższy kod używa funkcji file_exists, aby ustalić, czy plik my_settings.txt istnieje.
<?php if (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 swojej przeglądarce. Otrzymasz następujące wyniki.
Funkcja fopen() PHP
Funkcja fopen służy do otwierania plików. Jej składnia jest następująca.
<?php fopen($file_name,$mode,$use_include_path,$context); ?>
TUTAJ,
- „fopen” to funkcja otwierania pliku PHP
- „$nazwa_pliku” to nazwa pliku, który ma zostać otwarty
- „$mode” to tryb, w którym plik powinien zostać otwarty. Poniższa tabela przedstawia tryby.
| Moda | OPIS |
|---|---|
| r | • Przeczytaj plik od początku. • Zwraca fałsz, jeśli plik nie istnieje. • Tylko czytać |
| r+ | • Przeczytaj plik od początku • Zwraca fałsz, jeśli plik nie istnieje. • Czytaj i pisz |
| w | • Zapisz do pliku na początku • Skróć plik do zerowej długości • Jeśli plik nie istnieje, spróbuj go utworzyć. • Tylko pisz |
| w+ | • Zapis do pliku na początku, obcięcie pliku do zerowej długości • Jeśli plik nie istnieje, spróbuj go utworzyć. • Czytaj i pisz |
| a | • Dołącz do pliku na końcu • Jeśli plik nie istnieje, spróbuj go utworzyć. • Tylko pisz |
| a+ | • Dołącz do pliku na końcu • Jeśli plik nie istnieje, spróbuj go utworzyć • Czytaj i pisz |
- Parametr „$use_include_path” jest opcjonalny, domyślnie ustawiony na false. Jeśli ustawiony na true, funkcja przeszukuje również ścieżkę include.
- Parametr „$context” jest opcjonalny i można go użyć do określenia obsługiwanego kontekstu.
Funkcja fwrite() PHP
Funkcja fwrite służy do zapisu do plików.
Ma następującą składnię.
<?php fwrite($handle, $string, $length); ?>
TUTAJ,
- „fwrite” to funkcja PHP służąca do zapisywania plików
- „$handle” to zasób wskaźnika pliku
- “$string” to dane, które mają zostać zapisane do pliku.
- Parametr „$length” jest opcjonalny i można go użyć do określenia maksymalnej długości pliku.
PHP fclose() Funkcja
Funkcja fclose() służy do zamykania otwartego pliku w PHP.
Ma następującą składnię.
<?php fclose($handle); ?>
TUTAJ,
- „fclose” to Funkcja PHP do zamykania otwartego pliku
- „$handle” to zasób wskaźnika pliku.
Przyjrzyjmy się teraz przykładowi, który tworzy plik my_settings.txt. Użyjemy funkcji fopen, fwrite i fclose.
Poniższy kod „create_my_settings_file.php” implementuje powyższy przykład.
| Otwórz plik |
<?php $fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); ?> |
| Zamykanie pliku |
<?php fclose($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 1 written successfully"; ?> |
Testowanie kodu
Otwórz URL http://localhost/phptuts/create_my_settings.php w przeglądarce.
Otrzymasz następującą stronę.
Uwaga: jeśli Twój dysk jest zapełniony lub nie masz uprawnień do zapisu plików, pojawi się komunikat o błędzie.
Wróć do URL http://localhost/phptuts/file_function.phpJakie uzyskałeś wyniki?
PHP fgets() Funkcja
Funkcja fgets służy do odczytywania plików PHP linia po linii. Ma następującą podstawową składnię.
<?php fgets($handle); ?>
TUTAJ,
- „fgets” to funkcja PHP służąca do odczytywania linii pliku
- „$handle” to zasób wskaźnika pliku.
Przyjrzyjmy się teraz przykładowi odczytującemu plik my_settings.txt za pomocą 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 komunikat i kończy wykonywanie skryptu.
Funkcja kopiowania() PHP
Funkcja kopiowania PHP służy do kopiowania plików. Jej podstawowa składnia jest następująca.
<?php copy($file,$copied_file); ?>
TUTAJ,
- „$file” określa ścieżkę i nazwę pliku do skopiowania.
- „$copied_file” określa ścieżkę i nazwę skopiowanego pliku
Poniższy kod ilustruje implementację.
<?php copy('my_settings.txt', 'my_settings_backup.txt') or die("Could not copy file"); echo "File successfully copied to 2"; ?>
Usuwanie pliku
Funkcja unlink służy do usuwania pliku. Poniższy kod ilustruje implementację.
<?php if (!unlink('my_settings_backup.txt')) { echo "Could not delete file"; } else { echo "File 1 successfully deleted"; } ?>
PHP file_get_contents() Funkcja
Do odczytania całej zawartości pliku służy funkcja file_get_contents.
Różnica pomiędzy file_get_contents i fgets polega na tym, że file_get_contents zwraca dane pliku jako ciąg znaków, natomiast fgets odczytuje plik wiersz po wierszu.
Poniższy kod ilustruje implementację.
<?php echo "<pre>"; // Enables display of line feeds echo file_get_contents("my_settings.txt"); echo "</pre>"; // Terminates pre tag ?>
Krótki przewodnik po funkcjach plików PHP
Poniższa tabela podsumowuje funkcje plików omówione w tym samouczku.
| Funkcjonować | OPIS |
|---|---|
| plik istnieje | Służy do określenia, czy plik istnieje, czy nie |
| otwarty | Służy do otwierania pliku. Zwraca wskaźnik do otwartego pliku |
| napisz | Używany do zapisu do plików |
| fzamknij | Służy do zamykania otwartego pliku |
| fgets | Służy do odczytu pliku linia po linii |
| kopia | Służy do kopiowania istniejącego pliku |
| odczepić | Służy do usuwania istniejącego pliku |
| file_get_contents | Służy do zwracania zawartości pliku w postaci ciągu znaków |



