ГЛАВА 7. Файловый ввод/вывод и файловая система
Запись в файл
С открытыми файлами выполняются две основные операции — чтение и запись.
is_writeable()
Функция is_writeable() позволяет убедиться в том, что файл существует и для него разрешена операция записи. Возможность записи проверяется как для файла, так и для каталога. Синтаксис функции is_writeable():
bool is_writeable(string файл)
Одно важное обстоятельство: скорее всего, РНР будет работать под идентификатором пользователя, используемым web-сервером(как правило, «nobody»). Пример использования is_writeable() приведен в описании функции fwrite().
fwrite()
Функция fwrite() записывает содержимое строковой переменной в файл, заданный файловым манипулятором. Синтаксис функции fwrite():
int fwrite(int манипулятор, string переменная [, int длина])
Если при вызове функции передается необязательный параметр длина, запись останавливается либо после записи указанного количества символов, либо при достижении конца строки. Проверка возможности записи в файл продемонстрирована в следующем примере:
<?
// Информация о трафике на пользовательском сайте
$data = "08:13:00|12:37:12|208.247.106.187|Win98";
$filename = "somefile.txt";
// Если файл существует и в него возможна запись
if( is_writeable($filename) ) :
// Открыть файл и установить указатель текущей позиции в конец файла
$fh = fopen($filename, "a+");
// Записать содержимое $data в файл
$success - fwrite($fh, $data);
// Закрыть файл
fclose($fh);
else :
print "Could not open Sfilename for writing";
endif;
?>
Функция fputs() является псевдонимом fwrite() и может использоваться всюду, где используется fwrite().
fputs()
Функция fputs() является псевдонимом fwrite() и имеет точно такой же синтаксис. Синтаксис функции fputs():
int fputs(int манипулятор, string переменная [, int длина])
Лично я предпочитаю использовать fputs(). Следует помнить, что это всего лишь вопрос стиля, никак не связанный с какими-либо различиями между двумя функциями.
Назад |
Содержание раздела |
Общее Содержание |
Вперед
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|