Não consigo encontrar uma função da API Drupal no D7 que informa se existe um arquivo (não gerenciado). D6 tinha um arquivo_check_location, mas não para 7.
Como verificar se existe um arquivo (não gerenciado)?
Não consigo encontrar uma função da API Drupal no D7 que informa se existe um arquivo (não gerenciado). D6 tinha um arquivo_check_location, mas não para 7.
Como verificar se existe um arquivo (não gerenciado)?
Respostas:
Você poderia usar a antiga função PHP padrão do pântano, file_exists()
se eu entendi direito:
$uri = 'public://images/an-image.jpg';
if (file_exists($uri)) {
// Do something
}
Isso também funciona para caminhos normais (absolutos), por exemplo:
$path = '/var/www/drupal/sites/default/files/images/an-image.jpg';
if (file_exists($path)) {
// Do something
}
file_exists()
e ele não funciona. Alguma explicação?
Não sei qual é o seu caso de uso específico, mas talvez você não precise verificar se o arquivo existe.
As funções file_unmanaged_copy, file_unmanaged_move, file_unmanaged_delete, file_unmanaged_delete_recursive e file_unmanaged_save_data verificam se o arquivo existe e retornam false se não existir.
Você pode encontrar o código fonte em drupal / includes / file.inc e dar uma olhada.
Você deve usar a função drupal:
file_destination ($ uri, FILE_EXISTS_ERROR)
e verifique
if (!file_destination($uri, FILE_EXISTS_ERROR)) {
// The file exist
// Do something
}
file_destination()
usos file_exists()
função