В этой статье будут описаны следующие функции, связанные с файлами - открытие, чтение, запись и закрытие файла
Содержание:
Открытие и закрытие файлов
Функция PHP fopen() используется для открытия файла. Для этого требуется два аргумента, в которых сначала указывается имя файла, а затем режим работы. Режимы файлов можно указать как одну из шести опций в этой таблице.
| Значение | Описание |
|---|---|
| р | Открывает файл только для чтения. Помещает указатель файла в начало файла. |
| г + | Открывает файл для чтения и записи. Помещает указатель файла в начало файла. |
| w | Открывает файл только для записи. Помещает указатель файла в начало файла, и обрезает файл до нулевой длины. Если файлы не существует, тогда он пытается создать файл. |
| w + | Открывает файл только для чтения и записи. Помещает указатель файла в начало файла, и обрезает файл до нулевой длины. Если файлы не существует, тогда он пытается создать файл. |
| a | Открывает файл только для записи. Помещает указатель файла в конец файла. Если файлы не существуют, он пытается создать файл. |
| а + | Открывает файл только для чтения и записи. Помещает указатель файла в конец файла. Если файлы не существуют, он пытается создать файл. |
Если попытка открыть файл не удалась, fopen возвращает значение false, иначе он возвращает указатель файла, который используется для дальнейшего чтения или записи в этот файл.
После внесения изменений в открытый файл важно закрыть его с помощью функции fclose(). Для функции fclose() требуется указатель файла в качестве аргумента, а затем возвращается значение true, когда закрытие завершается успешно или false, если оно терпит неудачу.
Чтение файла
Как только файл открывается с помощью функции fopen(), его можно прочитать с помощью функции fread(). Эта функция требует двух аргументов. Это должен быть указатель файла и длина файла, выраженная в байтах.
Длина файла может быть найдена с помощью функции filesize(), которая принимает имя файла в качестве аргумента и возвращает размер файла, выраженный в байтах.
Итак, вот шаги, необходимые для чтения файла с PHP.
- Откройте файл с помощью fopen() функцию.
- Получить длину файла, используя функцию filesize().
- Прочитайте содержимое файла, используя функцию fread().
- Закройте файл с помощью функции fclose().
Следующий пример присваивает содержимое текстового файла переменной, а затем отображает это содержимое на веб-странице.
<?php
$filename = "tmp.txt" ;
$file = fopen($filename , "r" );
if($file == false ) {
echo("Ошибка открытия файла");
exit();
}
$filesize = filesize($filename);
$filetext = fread($file, $filesize);
fclose ($file);
echo ("Размер файла: $filesize bytes");
echo ("<pre> $filetext Это приведет к следующему результату -
Размер файла: 278 байтовПрепроцессор PHP Hypertext (PHP) - это программирование
язык, который позволяет веб-разработчикам создавать динамические
который взаимодействует с базами данных.Запись файла
Можно записать новый файл или добавить текст в существующий файл с помощью функции PHP fwrite(). Эта функция требует двух аргументов, указывающих указатель на файл и строку данных, которая должна быть записана. При желании можно указать третий целочисленный аргумент, чтобы указать длину данных для записи.
Если третий аргумент включен, запись прекратится после достижения указанной длины.
В следующем примере создается новый текстовый файл, затем записывается короткий заголовок текста внутри него. После закрытия этого файла его существование подтверждается с помощью функции file_exist(), которая принимает имя файла в качестве аргумента
<?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);
?>
<title>Writing a file using PHP</title>
<?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");
?>
Это приведет к следующему результату -
Ошибка при открытии нового файлаС уважением, авторы сайта Компьютерапия