Файлы
Для работы с файлами и папками в файле 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|string $access_close = false]) – Создает папку, если она не создана.
- string $path: путь до папки-родителя относительно корня сайта
- boolean|string $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>';
boolean rm (string $path) – Удаляет файл/директорию.
- string $path: путь до папки относительно корня сайта
array rglob ([string $path = ''], [string $file_pattern = false], [string $dir_pattern = false], [integer $depth = 0], [integer $flag = 0]) –
Рекурсивный поиск файлов с использованием шаблона соответствия или не соответствия По умолчанию (без флагов) в результат поиска включаются файлы, не соответствующие шаблону поиска для файлов и не соответствующие шаблону поиска для директорий. Сами шаблоны поиска и для файлов, и для директорий распространяются только на первый уровень вложенности. RGLOD_PATTERN_FILE_COINCIDE - соответствие шаблону для файлов (без флага - не соответствие шаблону), RGLOD_PATTERN_FILE_GLOB - использовать шаблон для файлов на каждом уровне вложенности (без флага - использовать шаблон на первом уровне), RGLOD_PATTERN_DIR_COINCIDE - соответствие шаблону для директорий (без флага - не соответствие шаблону), RGLOD_PATTERN_DIR_GLOB - использовать шаблон для директорий на каждом уровне вложенности (без флага - использовать шаблон на первом уровне), RGLOD_FILE_GLOB - включать файлы, начинающиеся с точки, и директории-точки (точка и две точки, если есть вышестоящая директория) Без данного флага - исключать файлы, начинающиеся с точки, и директории-точки
.- string $path: путь до папки относительно корня сайта
- string $file_pattern: шаблон для файлов согласно правилам, используемым в функции preg_match
- string $dir_pattern: шаблон для директорий согласно правилам, используемым в функции preg_match
- integer $depth: глубина вложенности, просматриваемая функцией (без ограничений = -1)
- integer $flag: флаг или комбинация флагов поиска:
mixed File size or false if error rglob_size ([string $path = ''], [string $file_pattern = false], [string $dir_pattern = false], [integer $depth = 0], [integer $flag = 0]) –
Рекурсивное определение размеров файлов с использованием шаблона соответствия или не соответствия По умолчанию (без флагов) в результат поиска включаются файлы, не соответствующие шаблону поиска для файлов и не соответствующие шаблону поиска для директорий. Сами шаблоны поиска и для файлов, и для директорий распространяются только на первый уровень вложенности. RGLOD_PATTERN_FILE_COINCIDE - соответствие шаблону для файлов (без флага - не соответствие шаблону), RGLOD_PATTERN_FILE_GLOB - использовать шаблон для файлов на каждом уровне вложенности (без флага - использовать шаблон на первом уровне), RGLOD_PATTERN_DIR_COINCIDE - соответствие шаблону для директорий (без флага - не соответствие шаблону), RGLOD_PATTERN_DIR_GLOB - использовать шаблон для директорий на каждом уровне вложенности (без флага - использовать шаблон на первом уровне), RGLOD_FILE_GLOB - включать файлы, начинающиеся с точки, и директории-точки (точка и две точки, если есть вышестоящая директория) Без данного флага - исключать файлы, начинающиеся с точки, и директории-точки
.- string $path: путь до папки относительно корня сайта
- string $file_pattern: шаблон для файлов согласно правилам, используемым в функции preg_match
- string $dir_pattern: шаблон для директорий согласно правилам, используемым в функции preg_match
- integer $depth: глубина вложенности, просматриваемая функцией (без ограничений = -1)
- integer $flag: флаг или комбинация флагов поиска:
array scandir ([string $path = ''], [integer $depth = 0], [boolean $hierarchy = false]) – Получает список файлов и каталогов, расположенных по указанному пути.
- string $path: путь до папки относительно корня сайта
- integer $depth: глубина вложенности, просматриваемая функцией (без ограничений = -1)
- boolean $hierarchy: массив в виде иерархии
string tempnam ([string $basename = ''], [string $dir_path = ''], [boolean $is_dir = false]) – Возвращает уникальное имя.
- string $basename: исходное имя файла
- string $dir_path: путь до папки относительно корня сайта
- boolean $is_dir: тип имени (FALSE - уникальное имя файла, TRUE - уникальное имя директории)
boolean zip (string $path, string $filename, [string $relative = true]) – Добавляет файлы из директории в архив.
- string $path: относительный путь до директории или файла
- string $filename: относительный путь до ZIP-файла
- string $relative: сохранять относительный путь
array unzip (string $filename) – Получает контент файлов из архива.
- string $filename: относительный путь до ZIP-файла
void var_dump (mixed $variables, string $file_path, boolean $append) – Сохраняет файл с информацией о переменных.
- mixed $variables: переменные
- string $file_path: путь до нового файла относительно корня сайта
- boolean $append: режим записи файла: false - создает новый файл (если на момент вызова файл с таким именем уже существовал, то он предварительно уничтожается), true - дополняет файл с новой строки (если файл уже существует, данные будут дописаны в конец файла с новой строки вместо того, чтобы его перезаписать). По умолчание FALSE - создаётся новый файл и на протяжении всего цикла исполнения PHP-скрипта файл дополняется.
Зарегистрируйтесь или авторизируйтесь для того, чтобы оставить комментарий.
Ваш комментарий будет первым.