Я не могу найти функцию Drupal API в D7, которая сообщает мне, существует ли (неуправляемый) файл. У D6 была file_check_location, но не для 7.
Как проверить, существует ли (неуправляемый) файл?
Я не могу найти функцию Drupal API в D7, которая сообщает мне, существует ли (неуправляемый) файл. У D6 была file_check_location, но не для 7.
Как проверить, существует ли (неуправляемый) файл?
Ответы:
Вы можете просто использовать старую стандартную PHP-функцию, file_exists()
если я вас правильно понял:
$uri = 'public://images/an-image.jpg';
if (file_exists($uri)) {
// Do something
}
Это также работает для нормальных (абсолютных) путей, например:
$path = '/var/www/drupal/sites/default/files/images/an-image.jpg';
if (file_exists($path)) {
// Do something
}
file_exists()
и это не работает. Любое объяснение?
Я не знаю, каков ваш конкретный вариант использования, но вам, возможно, не нужно проверять, существует ли файл.
Функции file_unmanaged_copy, file_unmanaged_move, file_unmanaged_delete, file_unmanaged_delete_recursive и file_unmanaged_save_data проверяют, существует ли файл, и возвращают false, если это не так.
Вы можете найти исходный код в drupal / includes / file.inc и посмотреть.
Вы должны использовать функцию drupal:
file_destination ($ uri, FILE_EXISTS_ERROR)
и проверить
if (!file_destination($uri, FILE_EXISTS_ERROR)) {
// The file exist
// Do something
}
file_destination()
использует file_exists()
функция