Je ne trouve pas de fonction API Drupal dans D7 qui me dise s'il existe un fichier (non géré). D6 avait un fichier_check_location mais pas pour 7.
Comment vérifier si un fichier (non géré) existe?
Je ne trouve pas de fonction API Drupal dans D7 qui me dise s'il existe un fichier (non géré). D6 avait un fichier_check_location mais pas pour 7.
Comment vérifier si un fichier (non géré) existe?
Réponses:
Vous pouvez simplement utiliser l'ancienne fonction PHP standard des marais 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
}
file_exists()
et cela ne fonctionne pas . Une explication?
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.
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
}
file_destination()
utilisations file_exists()
fonction