Вторник, 16.06.2026, 08:28
Приветствую Вас Гость | RSS
Поиск по каталогу
Главная страница | Каталог статей | Регистрация | Вход

Информационные технологии
Форма входа
Меню сайта

Категории каталога
php [246]
perl [1]
perl
ASP [1]
AJAX [0]

Друзья сайта

Наш опрос
Оцените мой сайт
Всего ответов: 69

Начало » Статьи » Web программирование » php

Работа с файлами в PHP
В языке программирования PHP есть функции для работы с файлми. В этой статье мы рассмотрим их...



Включение файлов в документ



Иногда нам приходится часто изменяемые элементы программы или самой страницы выносить в отдельный файл, а потом его динамически включать в документ... Это может быть список часто изменяемых переменных или, например, меню. Включить эти файлы нам поможет функция include(). Она имеет единственный аргумент, который должен являться путем к необходимому (включаемому) документу.



Пример



Выносим меню нашего сайта в отдельный файл. Назовем его 'menu.txt' и разместим в той же папке, что и index.php, а вместо кода меню вводим



<?

include ("menu.txt");

?>


Работает? Замечательно!



Проверка существования файла



Часто программам будет необходимо проверить, существует ли необходимый файл. Для этого придумана функция file_exists(). Функция возвращает true, если файл существует и false, если нет.



Пример



<?

if (file_exists("file.txt")) {

//...Дальнейшие действия...

} else {

echo ("File.txt не существует!");

}

?>


Создаем и удаляем файлы



Для создания файлов есть функция touch().



Пример



<?touch("file.txt");?>


А для удаления файлов предусмотрена функция unlink().



Пример



<?unlink("file.txt");?>


Чтение, запись и добавление в файл



Для открытия файла существует функция fopen(). Ей передаются 2 аргумента. Первый — путь к файлу, а второй — режим доступа. Режимов доступа есть 3. Первый обозначается "r" — открывается файл исключительно для чтения, но не для записи, второй "w" — запись файл (!!!при записи вся информация в файле сотрется и новые данные будут записаны в начало уже пустого файла!!!). Если же использовать режим добавления в конец файла, обозначаемый буквой "a" данные будут записываться в конец файла, а текущее содержимое останется.



Лучше открытый файл присваивать переменной, которая потом будет указателем на файл.



Примеры



Открытие файла для чтения



$file=fopen("file.txt", "r")


открытие файла для записи



$file=fopen("file.txt", "w")


открытия файла для добавления данных в конец



$file=fopen("file.txt", "a")


После работы с файлом его необходимо закрыть, иначе все измененное процессом в файле не сохранится:



fclose($file); //$file — указатель на файл


Чтение строк из файла



Для чтения строк из файла существует функция fgets(). У неё есть 2 аргумента. Первый — указатель на файл, второй — максимальное количество символов, которое можно прочитать до того, как встретится конец файла или строки (обычно это "1024").



Если вы хотите прочитать весь файл и вывести его содержимое в броузер, Вам понадобится функция feof($file), где $file — указатель на файл. Она возвращает true при достижении конца файла и false в противном случае.



Итак, чтобы прочитать весь документ, пользуемся кодом:



<?

$file= fopen ("file.txt", "r");

while (!feof($file))

{

$text = fgets ($file, 1024);

echo ($text)

}

?>


Если Вы хотите прочитать определенное количесво символов пользуйтесь функцией fread().



Пример



<?

$file= fopen ("file.txt", "r");

$text = fread($file, 25);

echo ($text);

?>


Для перемещения по файлу (а точнее, смещения) предусмотрена функция fseek(указатель на файл, количество символов, на которое нужно отступить от начала файла).



fseek($file, 80);


Запись в файл



Для записи в файл пользуемся функциями fwrite() или fputs(), которые ничем друг от друга не отличаются.



Пример



fwrite ($file, "Ваш текст");

fputs ($file, "Ваш текст");


Конечно, надо сначала открыть файл с соответствующим режимом доступа ("w" или "a").



Блокируем файл...



Теперь появляется вопрос. А что если несколько процессов будут одновременно записывать данные в файл? Да-да, плохо будет. Данные будут перемешаны в огромную кучу и превратятся в обыкновенный информационный мусор, не поддающийся расшифровке. К счастью, на этот случай существует блокировка файла. Есть 2 вида блокировки — частичная и полная. Частичная запрещает другим процессам писать в файл данные, но не запрещает читать их, а полная запрещает и чтение, и запись.



За блокировку отвечает функция flock(указатель на файл , вид блокировки). Вид блокировки обозначается цифрой (1 — частичная, 2 — полная). Чтобы разблокировать файл пользуйесь функцией flock, но вид блокировки поставьте "3".



Удачи Вам и Вашим программам ;)!
Категория: php | Добавил: freeone (10.05.2007) | Автор: Кузьмин Илья
Просмотров: 600 | Рейтинг: 5.0 |

Всего комментариев: 0
Имя *:
Email *:
Код *:

Copyright Информационные технологии © 2006