Суббота, 2017-11-25, 4:21 AM

Поиск
Меню
Категории раздела
PHP [40]
Cкриптовый язык программирования общего назначения
MySQL [1]
Cвободная система управления базами данных (СУБД)
jQuery [8]
Библиотека JavaScript, фокусирующаяся на взаимодействии JavaScript и HTML
CSS [60]
Cредство описания, оформления внешнего вида веб-страниц
JavaScript [161]
Прототипно-ориентированный скриптовый язык программирования
Веб-дизайн [2]
Проектирование пользовательских веб-интерфейсов для сайтов или веб-приложений
RegExp [1]
Регулярные выражения
SEO [2]
Продвижение и раскрутка сайтов. Заработок в сети.
C/C++ [3]
Компилируемый статически типизированный язык программирования общего назначения
Windows [4]
Программистам под ОС MS Windows
HGE [2]
Игровой движок HGE (Haaf's Game Engine)
Игровой дизайн [8]
Психология дизайна игр
Разработка игр [2]
Общие моменты, относящиеся к геймдеву
wxWidgets [2]
Библиотека инструментов для разработки кроссплатформенных приложений
PureBasic [10]
Кроссплатформенный компилятор и IDE для быстрой разработки
VST [6]
Steinberg's Virtual Studio Technology (VST)
iOS [1]
Mобильная операционная система, разрабатываемая и выпускаемая американской компанией Apple
Пиксельная графика [9]
Pixel art и все, что с ним связано
libGDX [2]
Кроссплатформенный открытый движок на Java, позволяющий создавать 2D и 3D игры под различные платформы, среди которых: Android, HTML5, Windows, Linux, iOS.
Поддержи проект!
Рекомендуем


Блог разработчика

Главная » 2014 » Июнь » 16 » Drupal 7: Функции для работы с файловыми путями
8:17 PM
Drupal 7: Функции для работы с файловыми путями
drupal_basename($uri, $suffix = NULL) — возвращает имя файла. Это аналог PHP функции basename() за исключением того, что поддерживает stream wrappers и имена файлов с не US-ASCII символами.
drupal_basename('sites/default/files/test.jpg'); // test.jpg
drupal_basename('public://test.jpg'); // test.jpg
drupal_basename('/drupal/sites/default/files/test.jpg'); // test.jpg

drupal_dirname($uri) — возвращает директорию файла. Это аналог PHP функции dirname() за исключением того, что поддерживает stream wrappers.
drupal_dirname('sites/default/files/test.jpg'); // sites/default/files
drupal_dirname('public://test.jpg'); // public://
drupal_dirname('/drupal/sites/default/files/test.jpg'); // /drupal/sites/default/files

drupal_realpath($uri) — возвращает абсолютный путь к файлу. Может работать с stream wrappers. Возвращает FALSE если файла не существует. Не рекомендуется к использованию.
drupal_realpath('sites/default/files/test.jpg'); // /drupal/sites/default/files/test.jpg
drupal_realpath('public://test.jpg'); // /drupal/sites/default/files/test.jpg
drupal_realpath('/drupal/sites/default/files/test.jpg'); // /drupal/sites/default/files/test.jpg

file_build_uri($path) — добавляет к пути файла дефолтный протокол (public://).
file_build_uri('test.jpg'); // public://test.jpg

file_create_filename($basename, $directory) — возвращает полный путь для будущего файла с именем $basename в директории $directory. Если файл с таким именем существует, то к имени файла добавляется порядковый номер. Поддерживает stream wrappers.
// если файл test.jpg не существует в указанной директории
file_create_filename('test.jpg', 'sites/default/files'); // sites/default/files/test.jpg
file_create_filename('test.jpg', 'public://'); // public://test.jpg
file_create_filename('test.jpg', '/drupal/sites/default/files/'); // /drupal/sites/default/files/test.jpg
 
// если файл test.jpg существует в указанной директории
file_create_filename('test.jpg', 'sites/default/files'); // sites/default/files/test_0.jpg
file_create_filename('test.jpg', 'public://'); // public://test_0.jpg
file_create_filename('test.jpg', '/drupal/sites/default/files/'); // /drupal/sites/default/files/test_0.jpg

file_create_url($uri) — возвращает URL файла. Поддерживает stream wrappers. Не поддерживает абсолютные пути к файлу.
file_create_url('sites/default/files/test.jpg'); // http://example.com/sites/default/files/test.jpg
file_create_url('public://test.jpg'); // http://example.com/sites/default/files/test.jpg
file_create_url('/drupal/sites/default/files/test.jpg'); // /drupal/sites/default/files/test.jpg

file_destination($destination, $replace) — возвращает путь к существующему файлу в зависимости от значения $replace. Если файла $destination не существует, то функция возвратит то, что передано первым аргументом.
file_destination('sites/default/files/test.jpg', FILE_EXISTS_REPLACE)); // sites/default/files/test.jpg
file_destination('sites/default/files/test.jpg', FILE_EXISTS_RENAME)); // sites/default/files/test_0.jpg
file_destination('sites/default/files/test.jpg', FILE_EXISTS_ERROR)); // FALSE
file_destination('public://test.jpg', FILE_EXISTS_REPLACE)); // public://test.jpg
file_destination('public://test.jpg', FILE_EXISTS_RENAME)); // public://test_0.jpg
file_destination('public://test.jpg', FILE_EXISTS_ERROR)); // FALSE
file_destination('/drupal/sites/default/files/test.jpg', FILE_EXISTS_REPLACE)); // /drupal/sites/default/files/test.jpg
file_destination('/drupal/sites/default/files/test.jpg', FILE_EXISTS_RENAME)); // /drupal/sites/default/files/test_0.jpg
file_destination('/drupal/sites/default/files/test.jpg', FILE_EXISTS_ERROR)); // FALSE

file_directory_temp() — возвращает путь к временной директории, указанной на странице admin/config/media/file-system. Не рекомендуется использовать.
file_directory_temp(); // /tmp

file_munge_filename($filename, $extensions, $alerts = TRUE) — если файл имеет двойное расширение, например file.php.jpg, то функция добавит нижнее подчёркивание к первому расширению, во избежание взлома при криво настроенном апаче.
file_munge_filename('sites/default/files/exploit.php.pps', ''); // sites/default/files/exploit.php_.pps
file_munge_filename('public://exploit.php.pps', ''); // public://exploit.php_.pps
file_munge_filename('/drupal/sites/default/files/exploit.php.pps', ''); // drupal/sites/default/files/exploit.php_.pps

file_unmunge_filename($filename) — отменяет эффект от функции file_munge_filename().
file_unmunge_filename('sites/default/files/exploit.php_.pps'); // sites/default/files/exploit.php.pps
file_unmunge_filename('public://exploit.php_.pps'); // public://exploit.php.pps
file_unmunge_filename('/drupal/sites/default/files/exploit.php_.pps'); // drupal/sites/default/files/exploit.php.pps

file_stream_wrapper_uri_normalize($uri) — нормализует URI файла: удаляет завершающий слэш из имени директории и исправляет тройной слэш в протоколе.
file_stream_wrapper_uri_normalize('sites/all/files/'); // sites/all/files
file_stream_wrapper_uri_normalize('public:///test.jpg'); // public://test.jpg

file_uri_scheme($uri) — возвращает протокол из URI.
file_uri_scheme('public://test.jpg'); // public
file_uri_scheme('temporary://'); // temporary

file_uri_target($uri) — возвращает часть пути без протокола.
file_uri_target('public://test.jpg'); // test.jpg
file_uri_target('temporary://test.jpg'); // test.jpg
file_uri_target('sites/default/files/test.jpg'); // FALSE

file_valid_uri($uri) — возвращает TRUE если в $uri валидный Drupal URI.
file_valid_uri('public://test.jpg'); // TRUE
file_valid_uri('foo://test.jpg'); // FALSE
file_valid_uri('sites/default/files/test.jpg'); // FALSE
Категория: PHP | Просмотров: 556 | Добавил: pop | Теги: Php, Drupal | Рейтинг: 0.0/0

Поблагодарить автора



Комментарии