For work with files and folders in the file includes/file.php define class File.
void check_file (string $file_path) – Проверяет существует ли файл.
Example:
try
{
File::check_dir("modules/news/news.model.php");
}
catch (Exception $e)
{
// loading error message
echo $e->getMessage();
}
// if file exists output:
// Incorrect path.
void copy_file (string $source, string $file_path) – Копирует файл.
Example:
// copy file modules/news/news.model.php
// in file modules/news/news.model.copy.php
File::copy_file(ABSOLUTE_PATH."modules/news/news.model.php", "modules/news/news.model.copy.php");
// copy file http://www.diafan.ru/img/logo.png
// in file 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) – Загружает файл и удаляет временный файл.
Example:
// copy in file userfiles/images/new_image.jpg
// just uploaded through the form file of a variable image
File::upload_file($_FILES["image"]['tmp_name'], "userfiles/images/new_image.jpg");
void save_file (string $content, string $file_path) – Сохраняет файл.
Example:
// create file userfiles/file.txt with specified content
File::save_file('Content of file', "userfiles/file.txt");
void rename_file (string $name, string $old_name, string $path) – Переименовывает файл.
Example:
// rename file tmp/my_img.jpg
// to tmp/my_img_new.jpg
File::rename_file("my_new_img.jpg", "my_img.jpg", "tmp");
void delete_file (string $file_path) – Удаляет файл.
Example:
// delete file userfiles/my_file.zip
File::delete_file("userfiles/my_file.zip");
void check_dir (string $dir_path) – Проверяет существует ли папка.
Example:
try
{
File::check_dir("cache/files");
}
catch (Exception $e)
{
// loading error message
echo $e->getMessage();
}
// if file exists output:
// Incorrect path.
void create_dir (string $path, [boolean $access_close = false]) – Создает папку, если она не создана.
Example:
// create folder cache/files
// all files in the folder will not be accessible from the outside
File::create_dir("cache/files", true);
void rename_dir (string $name, string $old_name, string $path) – Переименовывает папку.
Example:
// rename folder userfiles/my/files
// to userfiles/my/images
File::rename_dir("images", "files", "userfiles/my");
void copy_dir (string $source, string $path) – Копирует папку.
Example:
// copy folder modules/news in custom/my/modules/news
File::copy_dir(ABSOLUTE_PATH."modules/news", "custom/my/modules/news");
void delete_dir (string $dir_path) – Удаляет папку.
Example:
// delete folder cache/files
File::delete_dir("cache/files");
boolean is_writable (string $path, [boolean $ftp = false]) – Определяет, доступны ли файл или папка для записи.
Example:
if(File::is_writable("cache/files"))
{
echo "Directory writable";
}
// if the folder cache/files is writable displays:
// Directory writable
string compress (string|array $path, string $type) – Сжимает JS и CSS файлы.
Example:
// compress and connect files css/style.css and css/menu.css
$compress_files = File::compress(('css/style.css', 'css/menu.css'), 'css');
// if enabled development mode, then the files will not be compressed and combined, then connect each file separately
if(is_array($compress_files))
{
foreach($compress_files as $file)
{
echo '<link href="'.BASE_PATH.$file.'" rel="stylesheet" type="text/css">';
}
}
// if off development mode, the files will be compressed and combined into one
else
{
echo '<link href="'.BASE_PATH.$compress_files.'" rel="stylesheet" type="text/css">';
}
// compress and commect file js/site.js
$path = File::compress('js/site.js', 'js');
echo '<script type="text/javascript" src="'.BASE_PATH.$path.'"></script>';