Tôi không thể tìm thấy hàm API Drupal trong D7 cho tôi biết nếu tệp (không được quản lý) tồn tại. D6 có file_check_location nhưng không dành cho 7.
Làm thế nào để kiểm tra nếu tập tin (không được quản lý) tồn tại?
Tôi không thể tìm thấy hàm API Drupal trong D7 cho tôi biết nếu tệp (không được quản lý) tồn tại. D6 có file_check_location nhưng không dành cho 7.
Làm thế nào để kiểm tra nếu tập tin (không được quản lý) tồn tại?
Câu trả lời:
Bạn chỉ có thể sử dụng hàm PHP tiêu chuẩn cũ file_exists()
nếu tôi hiểu đúng về bạn:
$uri = 'public://images/an-image.jpg';
if (file_exists($uri)) {
// Do something
}
Điều này cũng hoạt động cho các đường dẫn bình thường (tuyệt đối), ví dụ:
$path = '/var/www/drupal/sites/default/files/images/an-image.jpg';
if (file_exists($path)) {
// Do something
}
file_exists()
và nó không hoạt động. Có lời giải thích nào không?
Tôi không biết trường hợp sử dụng cụ thể của bạn là gì, nhưng bạn có thể không cần kiểm tra xem tệp có tồn tại không.
Các hàm file_unmanaged_copy, file_unmanaged_move, file_unmanaged_delete, file_unmanaged_delete_recursive và file_unmanaged_save_data kiểm tra xem tệp có tồn tại không và trả về false nếu không.
Bạn có thể tìm mã nguồn trong drupal / gồm / file.inc và xem qua.
Bạn nên sử dụng chức năng drupal:
file_destination ($ uri, FILE_EXISTS_ERROR)
và kiểm tra
if (!file_destination($uri, FILE_EXISTS_ERROR)) {
// The file exist
// Do something
}
file_destination()
sử dụngfile_exists()