Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Открытие файла

Читайте также:
  1. D. Открытие формы
  2. Unexpected end of file (Неожиданный конец файла)
  3. Адмирал Рейс делает открытие
  4. Атрибуты файла и способы их изменения.
  5. БЛАГОПОЛУЧИЕ, ОТКРЫТИЕ ПУТЕЙ
  6. Блокування файла
  7. В двоичных файлах информация считывается и записывается в виде блоков определенного размера, в которых могут храниться данные любого вида и структуры.

Для открытия файла в среде РНР используется функция

fopen(имя_файла, режим_файла)

При открытии файла необходимо указать, как его предполагается использовать. Это называется режимом файла. Серверная операционная система должна знать, что нужно делать с открытым файлом. Режимы файла предоставляют операционной системе механизм для определения способа обработки запросов на доступ, поступающих от пользователей или сценариев, а также метод проверки наличия доступа и прав для работы с конкретным файлом.

Первым параметром функции fopen() должно быть имя файла, который необходимо открыть, вторым — код режима, который может принимать следующие значения:

Режим Описание
r Файл открывается только для чтения. Если файла не существует, вызов регистрирует ошибку. После удачного открытия указатель файла устанавливается на его начало;
r+ Файл открывается одновременно на чтение и запись. Указатель текущей позиции устанавливается на его начало. Как и для режима r, если файла не существует, возвращается false. Следует отметить, что если в момент записи указатель файла установлен где-то в середине файла, то данные запишутся прямо поверх уже имеющихся, а не "раздвинут" их, при необходимости увеличив размер файла. Будьте внимательны;
w Открывает файл только для записи и помещает указатель в начало файла. Если файл не существует создает новый пустой файл. Если на момент вызова уже был файл с таким именем, то он предварительно уничтожается. В случае неверно заданного имени файла вызов, как нетрудно догадаться, "проваливается";
w+ Аналогичен r+ открывает файл только для записи и помещает указатель в начало файла, но если файла изначально не существовало, создает его. После этого с файлом можно работать как в режиме чтения, так и записи. Если файл существовал до момента вызова, его содержимое удаляется;
a Открывает существующий файл только для записи, и при этом сдвигает указатель текущей позиции за последний байт файла. Этот режим полезен, если требуется что-то дописать в конец уже имеющегося файла. Как водится, вызов неуспешен в случае отсутствия файла;
a+ Открывает файл для чтения и записи, указатель файла устанавливается на конец файла, при этом содержимое файла не уничтожается. Отличается от a тем, что если файла изначально не существовало, то он создается. Этот режим полезен, если вам нужно что-то дописать в файл (например, в журнал), но вы не знаете, создан ли уже такой файл;
x Создает и открывет файл только для записи; помещает указатель в начало файла. Если файл уже существует, вызов fopen() закончится неудачей. Если файл не существует попытается его создать.
x+ Создает и открывет файл для чтения и записи; помещает указатель в начало файла. Если файл уже существует, вызов fopen() закончится неудачей. Если файл не существует попытается его создать.

При работе в операционной системе Windows также можно явно указать, содержит ли файл двоичные (b) или текстовые (t) данные. В этом случае следует добавить "b" или "t" к строке режима. Если вы записываете текстовые данные в файл Windows и укажите режим "a+t", то строки будут разделяться символами \n\r, как и положено Windows.

В случае удачного открытия файла, функция fopen() возвращает дескриптор файла, в случае неудачи - false. Дескриптор файла представляет собой указатель на открытый файл, который используется операционной системой для поддержки операций с этим файлом. Возвращенный функцией дескриптор файла необходимо затем указывать во всех функциях, которые в дальнейшем будут работать с этим файлом.

Пример:

<?php
$fl = fopen ("170.php", "r"); //возвращает Resource id #3
if (! $fl)
{
echo "Ошибка при открытии файла";
}
echo $fl;
?>

Открытие двоичного файла, к примеру, рисунка происходит таким же образом, только с флагом b:

<?php
$fl = fopen ("images/foto15.g if ", "rb"); //возвращает дескриптор Resource id #3
if (! $fl)
{
echo "Ошибка открытия файла";
}
echo $fl;
?>


Дата добавления: 2015-08-18; просмотров: 76 | Нарушение авторских прав


Читайте в этой же книге: Свойства css с кратким описанием | Написание формы пользовательского интерфейса | Настройка формы для связи с сервером | Таблицы в HTML | Оператор выбора | Внимание | Что можно и нельзя делать с массивами | Примеры | Особенности пользовательских функций PHP | Переменное число параметров |
<== предыдущая страница | следующая страница ==>
Обработка ошибок и исключений в PHP| Работа с БД MySQL через расширение mysql

mybiblioteka.su - 2015-2024 год. (0.006 сек.)