Работа с файлами в PHP |
||||
---|---|---|---|---|
В языке программирования PHP есть функции для работы с файлми. В этой статье мы рассмотрим их... Включение файлов в документИногда нам приходится часто изменяемые элементы программы или самой страницы выносить в отдельный файл, а потом его динамически включать в документ... Это может быть список часто изменяемых переменных или, например, меню. Включить эти файлы нам поможет функция include(). Она имеет единственный аргумент, который должен являться путем к необходимому (включаемому) документу. Пример Проверка существования файлаЧасто программам будет необходимо проверить, существует ли необходимый файл. Для этого придумана функция file_exists(). Функция возвращает true, если файл существует и false, если нет. Пример Создаем и удаляем файлыДля создания файлов есть функция
touch(). А для удаления файлов предусмотрена функция
unlink(). Чтение, запись и добавление в файлДля открытия файла существует функция fopen(). Ей передаются 2 аргумента. Первый - путь к файлу, а второй - режим доступа. Режимов доступа есть 3. Первый обозначается "r" - открывается файл исключительно для чтения, но не для записи, второй "w" - запись файл (!!!при записи вся информация в файле сотрется и новые данные будут записаны в начало уже пустого файла!!!). Если же использовать режим добавления в конец файла, обозначаемый буквой "a" данные будут записываться в конец файла, а текущее содержимое останется. Лучше открытый файл присваивать переменной, которая потом будет указателем на файл. Примеры Чтение строк из файлаДля чтения строк из файла существует функция fgets(). У неё есть 2 аргумента. Первый - указатель на файл, второй - максимальное количество символов, которое можно прочитать до того, как встретится конец файла или строки (обычно это "1024"). Если вы хотите прочитать весь файл и вывести его содержимое в броузер, Вам понадобится функция feof($file), где $file - указатель на файл. Она возвращает true при достижении конца файла и false в противном случае. Итак, чтобы прочитать весь документ, пользуемся кодом:
Если Вы хотите прочитать определенное количесво символов пользуйтесь функцией fread(). Пример: Для перемещения по файлу (а точнее, смещения) предусмотрена функция
fseek(указатель на файл, количество символов, на которое нужно отступить от
начала файла). Запись в файлДля записи в файл пользуемся функциями fwrite() или fputs(), которые ничем друг от друга не отличаются. Пример: Конечно, надо сначала открыть файл с соответствующим режимом доступа ("w" или "a"). Блокируем файл...Теперь появляется вопрос. А что если несколько процессов будут одновременно записывать данные в файл? Да-да, плохо будет. Данные будут перемешаны в огромную кучу и превратятся в обыкновенный информационный мусор, не поддающийся расшифровке. К счастью, на этот случай существует блокировка файла. Есть 2 вида блокировки - частичная и полная. Частичная запрещает другим процессам писать в файл данные, но не запрещает читать их, а полная запрещает и чтение, и запись. За блокировку отвечает функция flock(указатель на файл , вид блокировки). Вид блокировки обозначается цифрой (1 - частичная, 2 - полная). Чтобы разблокировать файл пользуйесь функцией flock, но вид блокировки поставьте "3". Удачи Вам и Вашим программам ;)! | ||||