Хелпер по работе с файлами

Данный хелпер содержит вспомогательные функции для работы с файлами.

Загрузка данного хелпера

Загрузка осуществляется следующим образом:

$this->load->helper('file');

Доступные функции

Доступны следующие функции:

read_file($file)
Параметры:
  • $file (строка) – Путь к файлу
Возвращает:

Содержимое файла или FALSE при неудаче

Возвращаемый тип:

строка

Возвращает содержимое файла по указанному пути.

Пример:

$string = read_file('./path/to/file.php');

Путь может быть относительный или абсолютный. Возвращает FALSE (булево) при неудаче.

Примечание

Путь указывается относительно основного index.php сайта, НЕ контроллера или файлов представления (вида). Фронт контроллер используемый CodeIgniter, всегда возвращает путь относительно основного index файла сайта.

Примечание

Функция УСТАРЕЛА. Используйте родную функцию file_get_contents()

Important

Если сервере работает с open_basedir, эта функция может не работать для файлов расположенных по пути выше файла скрипта.

write_file($path, $data[, $mode = 'wb'])
Параметры:
  • $path (строка) – Путь к файлу
  • $data (строка) – Данные для записи в файл
  • $mode (строка) – fopen() режим
Возвращает:

TRUE если запись прошла успешно, FALSE в случае ошибки

Возвращаемый тип:

булево

Записывает данные в файл по указанному пути. Если файл не существует, то функция создаст его.

Пример:

$data = 'Some file data';
if ( ! write_file('./path/to/file.php', $data))
{
        echo 'Не удалось записать а файл';
}
else
{
        echo 'Запись прошла успешно!';
}

Вы можете дополнительно установить режим записи с помощью третьего параметра:

write_file('./path/to/file.php', $data, 'r+');

Режим по умолчанию ‘wb’. Подробнее смотрите в PHP документации.

Примечание

Путь указывается относительно основного index.php сайта, НЕ контроллера или файлов представления (вида). Фронт контроллер используемый CodeIgniter, всегда возвращает путь относительно основного index файла сайта.

Примечание

Эта функция использует блокировку файла при записи в него.

delete_files($path[, $del_dir = FALSE[, $htdocs = FALSE]])
Параметры:
  • $path (строка) – Путь к директории
  • $del_dir (булев) – Следует ли также удалять каталоги
  • $htdocs (булев) – Следует ли пропустить удаление .htaccess и индексных файлов страниц
Возвращает:

TRUE при успехе, FALSE в случае ошибки

Возвращаемый тип:

булево

Удаляет все файлы, содержащиеся в указанном пути.

Пример:

delete_files('./path/to/directory/');

Если второй параметр имеет значение TRUE, все подкатологи также будет удалены.

Пример:

delete_files('./path/to/directory/', TRUE);

Примечание

Файлы должны иметь соответствующие права для удаления.

get_filenames($source_dir[, $include_path = FALSE])
Параметры:
  • $source_dir (строка) – Путь к директории
  • $include_path (булев) – Включать ли путь в имена файлов
Возвращает:

Массив с оменами файлов

Возвращаемый тип:

массив

Принимает в качестве входных данных путь на сервере и возвращает массив, содержащий имена всех файлов содержащихся в указанном пути. Путь к файлу может быть добавлен с помощью установки второй параметра в TRUE.

Пример:

$controllers = get_filenames(APPPATH.'controllers/');
get_dir_file_info($source_dir, $top_level_only)
Параметры:
  • $source_dir (строка) – Путь к директории
  • $top_level_only (булев) – Следует ли искать только в указанном каталоге (исключить вложенные каталоги)
Возвращает:

Массив, содержащий информацию о содержимом указанного каталога

Возвращаемый тип:

массив

Считывает указанный каталог и создает массив содержащий: имена файлов, размеры файлов, даты и разрешения. Подпапки, содержащиеся в указанном пути, доступны только для чтения если передать вторым параметром FALSE.

Пример:

$models_info = get_dir_file_info(APPPATH.'models/');
get_file_info($file[, $returned_values = array('name', 'server_path', 'size', 'date')])
Параметры:
  • $file (строка) – Путь к файлу
  • $returned_values (массив) – Какой тип информации возвращать
Возвращает:

Массив, содержащий информацию об указанном файле или FALSE при неудаче

Возвращаемый тип:

массив

Возвращает (опционально) name, path, size и date modified данные о файле. Второй параметр позволяет явно указать данные которые вы хотите получить.

Доступные $returned_values свойства: name, size, date, readable, writeable, executable и fileperms.

get_mime_by_extension($filename)
Параметры:
  • $filename (строка) – Имя файла
Возвращает:

MIME тип или FALSE при неудаче

Возвращаемый тип:

строка

Преобразует расширение файла в MIME тип на основе файла config/mimes.php. Возвращает FALSE если не удается определить тип файла или полученные MIME данные из файла настроек.

$file = 'somefile.png';
echo $file.' is has a mime type of '.get_mime_by_extension($file);

Примечание

Это не точный способ определения MIME типов файла и используется исключительно для удобства. Не должен использоваться для обеспечения безопасности.

symbolic_permissions($perms)
Параметры:
  • $perms (int) – Разрешения/Права
Возвращает:

Строка символьных разрешений

Возвращаемый тип:

строка

Принимает числовые разрешения (например, возвращаемые из fileperms()) и возвращает символьную нотацию прав доступа к файлам.

echo symbolic_permissions(fileperms('./index.php'));  // -rw-r--r--
octal_permissions($perms)
Параметры:
  • $perms (int) – Разрешения/Права
Возвращает:

Восьмеричная строка разрешений

Возвращаемый тип:

строка

Принимает числовые разрешения (например, возвращаемые и fileperms()) и возвращает три символа восьмеричной нотации файла разрешения.

echo octal_permissions(fileperms('./index.php')); // 644