Я не можу знайти функцію API Drupal у D7, яка повідомляє мені, чи існує (некерований) файл. D6 мав файл_check_location, але не для 7.
Як перевірити, чи існує (некерований) файл?
Я не можу знайти функцію API Drupal у D7, яка повідомляє мені, чи існує (некерований) файл. D6 мав файл_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 / include / 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()