Articles

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 file()

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
  • Odczytaj plik od początku.
  • Zwraca wartość false, jeśli plik nie istnieje.
  • Tylko do odczytu
r+
  • Odczytaj plik od początku
  • Zwraca wartość false, jeśli plik nie istnieje.
  • Read and write
w
  • Write to file at beginning
  • truncate file to zero length
  • Jeśli plik nie istnieje, spróbuj go utworzyć.
  • Write only
w+
  • Write to file at beginning, truncate file to zero length
  • If the file doesn’t exist attempt to create it.
  • Read and Write
a
  • Append to file at end
  • If the file doesn’t exist attempt to create it.
  • Write only
a+
  • Php append to file at end
  • If the file doesn’t exist attempt to utworzyć
  • Odczyt i zapis
  • „$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ę

Funkcja PHP file()

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

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *