php создание файла, чтение и запись

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

Чтобы создать файл на php в исполняемом скрипте надо всего лишь указать несколько функций:

Рассмотрим сразу пример:

<?php
$text = "Какой-то тут текст для записи в файл";
$fp = fopen("file.txt", "w" );
fwrite($fp, $text);
fclose($fp);
?>

Тут вы должны знать:

fopen() - функция открывает файл чтения или для записи и уточнениями;

Это уточнения (параметр mode функции fopen) очень важно:

  • "r" - открыть файл в php ТОЛЬКО для чтения. Курсор помещается в начало.
  • "r+" - открыть файл в php для чтения и для записи. Курсор помещается в начало. !!! - при этих двух режимах r и r+ файлы уже должны быть созданы(иначе вылезет ошибка Warning: fopen(file.txt) [function.fopen]: failed to open stream: No such file or directory in ...), а мы лишь читаем или у нас есть возможность дописывать.
  • "w" - открывается файл ТОЛЬКО для записи. Файл урезается до нулевой длины - то есть затирается. Записывается, что нужно и Курсор ставится в начало.
  • "w+" - открывается файл для записи И ЧТЕНИЯ! Остальное то же самое что и в режиме "w". !!! - при этих двух режимах - если файл не был создан - ПРЕДПРИМЕТСЯ ПОПЫТКА ЕГО СОЗДАТЬ!
  • "a" - открыть файл ТОЛЬКО для записи. В отличие от "w" этот параметр не затирает содержимое файла, а ставит курсор в конец строки и добавляет в конец содержимое, которое мы хотели добавить.
  • "a+" - открыть файл для записи и чтения.

fwrite($fp, $text) - функция записи в файл на php - то есть то что находится в переменной $text записывается в файл, который находится в переменной $fp;

fclose($fp) - функция закрытия файла, который мы записали в переменную $fp;

 

Все теперь вы спокойно можете создавать правильно файлы на php, открывать их для чтения и редактирования.

 

Полезные дополнения и функции PHP для работы с открытым файлом:

while(!feof($fp)){
    $mytext = fgets($fp, 99);
    echo $mytext."<br>";
}

здесь выполняется условие - "пока не достигнут конец файла то делай то то" while(!feof($fp))

1. Функция fgets($fp, 99) - позволяет разделить все содержимое на участки в 99 байт и далее, чтобы это отчетливее увидеть мы помещаем тег <br>

Эта функция string fgets ( resource handle [, int length] ) по умолчанию принимает в параметр length 1024 байта(1 килобайт), если не указать так и будет. Этот параметр необязателен с PHP 4.2.0 (В случае ошибки возвращает FALSE)

 

 

Доп функции для открытия, записи и создания файла

 

Функция - int readfile ( string filename [, bool use_include_path [, resource context]] ) - считываем файл как единое целое.

Читает файл и записывает содержимое в буфер вывода. И возвращает количество выведенных байт. В случае ошибки вернет, если не использована собачка - @readfile.

Что-то подобное получится:

 В конце слова тег стоят <br>.

 б. Функция - array file ( string filename [, int use_include_path [, resource context]] ), делает то же самое, что и функция readfile, за одним исключением она добавляет содержимое файла в массив:

 Таким образом можно считывать любые странички в интернете: $lines = file('http://saitsozdanie.ru/'); и перебрать массив через функцию foreach;

3а. Функция string file_get_contents ( string filename [, bool use_include_path [, resource context [, int offset [, int maxlen]]]] ) - позволяет получить содержимое в виде одной строки.

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

Важно!!! - в этом случае функция заменяет сразу 3: fopen(), fread() и fclose() и таким образом избавляет от мароки.

3б. Функция int file_put_contents ( string filename, mixed data [, int flags [, resource context]] ) - идентична последовательному вызову функций fopen(), fwrite() и fclose() - возвращает количество записанных байт.

 

Добавить комментарий


Защитный код
Обновить

Вы здесь: Сайтостроение Создание сайта PHP php создание файла, чтение и запись