Файлы
Для работы с файлами и папками в файле includes/file.php определен класс File.
Методы
void check_file (string $file_path)
– Проверяет существует ли файл.
- string $file_path: путь до файла относительно корня сайта
Пример:
try
{
File::check_dir("modules/news/news.model.php");
}
catch (Exception $e)
{
echo $e->getMessage();
}
// если файл не существует, выведет:
// Ошибочный путь.
void copy_file (string $source, string $file_path)
– Копирует файл.
- string $source: полный путь до исходного файла
- string $file_path: путь до нового файла относительно корня сайта
Пример:
// скопируем файл modules/news/news.model.php
// в файл modules/news/news.model.copy.php
File::copy_file(ABSOLUTE_PATH."modules/news/news.model.php", "modules/news/news.model.copy.php");
// скопируем файл http://www.diafan.ru/img/logo.png
// в файл userfiles/logo_cms_diafan.png
File::copy_file("http://www.diafan.ru/img/logo.png", "userfiles/logo_cms_diafan.png");
void upload_file (string $tmp_path, string $file_path)
– Загружает файл и удаляет временный файл.
- string $tmp_path: полный путь, где храниться временный файл
- string $file_path: путь до нового файла относительно корня сайта
Пример:
// скоприуем в файл userfiles/images/new_image.jpg
// только что загруженный через форму файл из переменной image
File::upload_file($_FILES["image"]['tmp_name'], "userfiles/images/new_image.jpg");
void save_file (string $content, string $file_path, [mixed $append = false])
– Сохраняет файл.
- string $content: содержание файла
- string $file_path: путь до нового файла относительно корня сайта
- mixed $append: (false|0|1) режим записи файла: false - создает новый файл (если на момент вызова файл с таким именем уже существовал, то он предварительно уничтожается), 0 - дополняет файл (если файл уже существует, данные будут дописаны в конец файла вместо того, чтобы его перезаписать), 1 - дополняет файл с новой строки (если файл уже существует, данные будут дописаны в конец файла с новой строки вместо того, чтобы его перезаписать)
Пример:
// создадим файл userfiles/file.txt с указанным содержимым
File::save_file('Содержимое файла.', "userfiles/file.txt");
void rename_file (string $name, string $old_name, string $path)
– Переименовывает файл.
- string $name: новое имя
- string $old_name: старое имя
- string $path: путь до папки, в которой лежит файл, относительно корня сайта
Пример:
// переименуем файл tmp/my_img.jpg
// в файл tmp/my_img_new.jpg
File::rename_file("my_new_img.jpg", "my_img.jpg", "tmp");
void delete_file (string $file_path)
– Удаляет файл.
- string $file_path: путь до файла относительно корня сайта
Пример:
// удалим файл userfiles/my_file.zip
File::delete_file("userfiles/my_file.zip");
mixed File size or false if error file_size (string $file_path)
–
Возврат размера файла (даже для файла > 2 Гб) For file size over PHP_INT_MAX (2 147 483 647), PHP filesize function loops from -PHP_INT_MAX to PHP_INT_MAX.
.- string $file_path: путь до файла относительно корня сайта
string hash_file (string $file_path)
– Возврат хэш файла.
- string $file_path: путь до файла относительно корня сайта
void check_dir (string $dir_path)
– Проверяет существует ли папка.
- string $dir_path: путь до папки относительно корня сайта
Пример:
try
{
File::check_dir("cache/files");
}
catch (Exception $e)
{
echo $e->getMessage();
}
// если директория не существует, выведет:
// Ошибочный путь.
void create_dir (string $path, [boolean $access_close = false])
– Создает папку, если она не создана.
- string $path: путь до папки-родителя относительно корня сайта
- boolean $access_close: доступ к папке извне будет закрыт
Пример:
// создаем папку cache/files
// все файлы в папке будут недоступны извне
File::create_dir("cache/files", true);
void rename_dir (string $name, string $old_name, string $path)
– Переименовывает папку.
- string $name: новое имя папки
- string $old_name: старое имя папки
- string $path: путь до папки-родителя относительно корня сайта
Пример:
// переименовываем папку userfiles/my/files
// в userfiles/my/images
File::rename_dir("images", "files", "userfiles/my");
void copy_dir (string $source, string $path)
– Копирует папку.
- string $source: полный путь до исходной папки
- string $path: путь до папки-назначения относительно корня сайта
Пример:
// копируем папу modules/news в custom/my/modules/news
File::copy_dir(ABSOLUTE_PATH."modules/news", "custom/my/modules/news");
void delete_dir (string $dir_path)
– Удаляет папку.
- string $dir_path: путь до папки относительно корня сайта
Пример:
// удаляем папку cache/files
File::delete_dir("cache/files");
boolean is_writable (string $path, [boolean $ftp = false])
– Определяет, доступны ли файл или папка для записи.
- string $path: путь до файла или папки относительно корня сайта
- boolean $ftp: учитывать возможность редактирования по FTP
Пример:
if(File::is_writable("cache/files"))
{
echo "папка доступна для записи";
}
// если папка cache/files/ доступна для записи, выведет:
// папка доступна для записи
string compress (string|array $path, string $type)
– Сжимает JS и CSS файлы.
- string|array $path: путь до файла относительно корня сайта
- string $type: тип: css, js
Пример:
// сжимаем файлы css/style.css и css/menu.css и подключаем их
$compress_files = File::compress(('css/style.css', 'css/menu.css'), 'css');
// если включен режим разработки, то файлы не будут сжаты и объединены, тогда подключаем каждый файл отдельно
if(is_array($compress_files))
{
foreach($compress_files as $file)
{
echo '<link href="'.BASE_PATH.$file.'" rel="stylesheet" type="text/css">';
}
}
// если выключен режим разработки, то файлы будут сжаты и объединены в один
else
{
echo '<link href="'.BASE_PATH.$compress_files.'" rel="stylesheet" type="text/css">';
}
// сжамаем файл js/site.js и подключаем его
$path = File::compress('js/site.js', 'js');
echo '<script type="text/javascript" src="'.BASE_PATH.$path.'"></script>';
Зарегистрируйтесь или авторизируйтесь для того, чтобы оставить комментарий.

Ваш комментарий будет первым.