CodeIgniter User Guide Version 2.0.0


Помощник File

Помощник File содержит функции, которые помогают в работе с файлами.

Загрузка этого помощника

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

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

read_file('path')

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

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

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

Примечание: Относительный путь указывается от вашего основного файла index.php, а не от вашего контроллера или отображения.

Примечание переводчика. Помните о замечательных константах, в том числе APPPATH. Работать с ними действительно удобно.

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

write_file('path', $data)

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

$data = 'Some file data';

if ( ! write_file('./path/to/file.php', $data))
{
     echo 'Unable to write the file';
}
else
{
     echo 'File written!';
}

Вы можете опционально установить режим записи третьим параметром:

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

Режим по умолчанию wb. Пожалуйста, смотрите опции режима в PHP user guide.

Примечание: Для того, чтобы эта функция записывала данные в файл, он должен иметь соответствующие разрешения. Если файл не существует, директория, содержащая его должна быть записываемой.

Примечание: Относительный путь указывается от вашего основного файла index.php, а не от вашего контроллера или отображения.

delete_files('path')

Удаляет ВСЕ файлы по указанному пути. Пример:

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

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

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

Примечание: Файлы должны быть записываемыми, или пользователь должен иметь права на удаление.

get_filenames('path/to/directory/')

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

get_dir_file_info('path/to/directory/', $top_level_only = TRUE)

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

get_file_info('path/to/file', $file_information)

Принимает файл и путь, возвращает имя, путь, размер и дату модификации. Второй параметр позволяет вам явно указать, какую информацию вы хотите получить. Опции: name, server_path, size, date, readable, writable, executable, fileperms. Возвращает FALSE, если файл не может быть найден.

Примечание: "writable" использует функцию PHP is_writable(), которая имеет известные проблемы на сервере IIS (Windows). То же касается файловых разрешений, которые возвращаются функцией PHP fileperms().

get_mime_by_extension('file')

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

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

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

symbolic_permissions($perms)

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

echo symbolic_permissions(fileperms('./index.php'));

// -rw-r--r--

octal_permissions($perms)

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

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

// 644