Наверх

Файлы

Для работы с файлами и папками в файле 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) – Сохраняет файл.

  • string $content: содержание файла
  • string $file_path: путь до нового файла относительно корня сайта

Пример:

// создадим файл 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");

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>';

Ваши комментарии и дополнения

пример File::compress не корректный, думаю php прогер это увидит.
Зарегистрируйтесь или авторизируйтесь для того, чтобы оставить комментарий.