Гостевая
Форум
Разделы
Главная страница
Js скрипты
Php скрипты
Html шаблоны
Книги по Web дизайну
Статьи


Главная страница статей --> Советы по фотошопу, графике и хитрости в построении php кода

Работа с файлами в PHP

Источник: realcoding.net

В языке программирования 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.

Удачи Вам и Вашим программам ;)!



Похожие статьи:
- Проверяем свой сайт – что произошло с вашим ранжированием?
- DHTML-скриплет - просто о простом
- Зачем нужна регистрация в каталогах через 1PS.RU
- Единая аутентификация Windows NT/2000 и Oracle
- Юзабилити главной страницы
- PHP и Web. Кэширование
- PHP4 или ASP.NET - что лучше
- ASP.NET 2.0. Обзор новых сервисов, элементов управления и средств (2 часть)
- Основы работы с MySQL в PHP
- Настройка, установка CGI скрипта
- Жемчужина PERL: мощь C++ и простота Basic
- Установка Perl под Windows
- Установка PHP


Оглавление | Обсудить на форуме | Главная страница сайта | Карта сайта |
[0.001]