PHP - pliki i we / wy
W tym rozdziale wyjaśniono następujące funkcje związane z plikami -
- Otwieranie pliku
- Czytanie pliku
- Pisanie pliku
- Zamknięcie pliku
Otwieranie i zamykanie plików
PHP fopen()Funkcja służy do otwierania pliku. Wymaga dwóch argumentów określających najpierw nazwę pliku, a następnie tryb, w którym ma działać.
Tryby plików można określić jako jedną z sześciu opcji w tej tabeli.
Sr.No | Tryb i cel |
---|---|
1 | r Otwiera plik tylko do odczytu. Umieszcza wskaźnik pliku na początku pliku. |
2 | r+ Otwiera plik do odczytu i zapisu. Umieszcza wskaźnik pliku na początku pliku. |
3 | w Otwiera plik tylko do zapisu. Umieszcza wskaźnik pliku na początku pliku. i skraca plik do zerowej długości. Jeśli pliki nie istnieje, wtedy próbuje utworzyć plik. |
4 | w+ Otwiera plik tylko do odczytu i zapisu. Umieszcza wskaźnik pliku na początku pliku. i skraca plik do zerowej długości. Jeśli pliki nie istnieje, wtedy próbuje utworzyć plik. |
5 | a Otwiera plik tylko do zapisu. Umieszcza wskaźnik pliku na końcu pliku. Jeśli pliki nie istnieją, próbuje utworzyć plik. |
6 | a+ Otwiera plik tylko do odczytu i zapisu. Umieszcza wskaźnik pliku na końcu pliku. Jeśli pliki nie istnieją, próbuje utworzyć plik. |
Jeśli próba otwarcia pliku zakończy się niepowodzeniem fopen zwraca wartość false w przeciwnym razie zwraca a file pointer który jest używany do dalszego odczytu lub zapisu do tego pliku.
Po wprowadzeniu zmian w otwartym pliku ważne jest, aby zamknąć go rozszerzeniem fclose()funkcjonować. Plikfclose() funkcja wymaga wskaźnika pliku jako argumentu, a następnie zwraca true kiedy zamknięcie się powiedzie lub false jeśli zawiedzie.
Czytanie pliku
Po otwarciu pliku za pomocą fopen() funkcji można ją odczytać za pomocą funkcji o nazwie fread(). Ta funkcja wymaga dwóch argumentów. Muszą to być wskaźnik pliku i długość pliku wyrażona w bajtach.
Długość plików można znaleźć za pomocą rozszerzenia filesize() funkcja, która przyjmuje nazwę pliku jako argument i zwraca rozmiar pliku wyrażony w bajtach.
Oto kroki wymagane do odczytania pliku za pomocą PHP.
Otwórz plik za pomocą fopen() funkcjonować.
Uzyskaj długość pliku za pomocą filesize() funkcjonować.
Przeczytaj zawartość pliku za pomocą fread() funkcjonować.
Zamknij plik za pomocą fclose() funkcjonować.
Poniższy przykład przypisuje zawartość pliku tekstowego do zmiennej, a następnie wyświetla tę zawartość na stronie internetowej.
<html>
<head>
<title>Reading a file using PHP</title>
</head>
<body>
<?php
$filename = "tmp.txt";
$file = fopen( $filename, "r" );
if( $file == false ) {
echo ( "Error in opening file" );
exit();
}
$filesize = filesize( $filename );
$filetext = fread( $file, $filesize );
fclose( $file );
echo ( "File size : $filesize bytes" );
echo ( "<pre>$filetext</pre>" );
?>
</body>
</html>
To da następujący wynik -
Pisanie pliku
Za pomocą PHP można napisać nowy plik lub dołączyć tekst do istniejącego pliku fwrite()funkcjonować. Ta funkcja wymaga dwóch argumentów określającychfile pointeri ciąg danych, które mają zostać zapisane. Opcjonalnie można dołączyć trzeci argument w postaci liczby całkowitej, aby określić długość danych do zapisania. Jeśli dołączono trzeci argument, zapis zatrzyma się po osiągnięciu określonej długości.
Poniższy przykład tworzy nowy plik tekstowy, a następnie zapisuje w nim krótki nagłówek tekstowy. Po zamknięciu tego pliku jego istnienie jest potwierdzane za pomocąfile_exist() funkcja, która przyjmuje nazwę pliku jako argument
<?php
$filename = "/home/user/guest/newfile.txt";
$file = fopen( $filename, "w" );
if( $file == false ) {
echo ( "Error in opening new file" );
exit();
}
fwrite( $file, "This is a simple test\n" );
fclose( $file );
?>
<html>
<head>
<title>Writing a file using PHP</title>
</head>
<body>
<?php
$filename = "newfile.txt";
$file = fopen( $filename, "r" );
if( $file == false ) {
echo ( "Error in opening file" );
exit();
}
$filesize = filesize( $filename );
$filetext = fread( $file, $filesize );
fclose( $file );
echo ( "File size : $filesize bytes" );
echo ( "$filetext" );
echo("file name: $filename");
?>
</body>
</html>
To da następujący wynik -
Omówiliśmy wszystkie funkcje związane z wprowadzaniem i pobieraniem plików w rozdziale Funkcje systemu plików PHP .