Je ne trouve pas de fonction Drupal API dans D7 qui me dit si un fichier (non géré) existe. D6 avait un file_check_location mais pas pour 7.
Comment vérifier si un fichier (non géré) existe?
Vous pouvez simplement utiliser l'ancien standard de tourbière PHP function file_exists()
si je vous comprends bien:
$uri = 'public://images/an-image.jpg';
if (file_exists($uri)) {
// Do something
}
Cela fonctionne également pour les chemins normaux (absolus), par exemple:
$path = '/var/www/drupal/sites/default/files/images/an-image.jpg';
if (file_exists($path)) {
// Do something
}
Vous devez utiliser la fonction drupal:
file_destination ($ uri, FILE_EXISTS_ERROR)
et vérifie
if (!file_destination($uri, FILE_EXISTS_ERROR)) {
// The file exist
// Do something
}
Je ne sais pas quel est votre cas d'utilisation spécifique, mais vous n'aurez peut-être pas besoin de vérifier si le fichier existe.
Les fonctions file_unmanaged_copy, file_unmanaged_move, file_unmanaged_delete, file_unmanaged_delete_recursive et file_unmanaged_save_data vérifient si le fichier existe et retournent false si ce n'est pas le cas.
Vous pouvez trouver le code source dans drupal/includes/file.inc et y jeter un œil.