(管理されていない)ファイルが存在するかどうかを通知するDrupal API関数がD7に見つかりません。D6には file_check_location がありましたが、7にはありません。
(管理されていない)ファイルが存在するかどうかを確認する方法
古いバグ標準PHP function 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
}
drupal関数を使用する必要があります。
file_destination($ uri、FILE_EXISTS_ERROR)
そしてチェック
if (!file_destination($uri, FILE_EXISTS_ERROR)) {
// The file exist
// Do something
}
特定の使用例はわかりませんが、ファイルが存在するかどうかを確認する必要がない場合があります。
関数file_unmanaged_copy、file_unmanaged_move、file_unmanaged_delete、file_unmanaged_delete_recursive、およびfile_unmanaged_save_dataは、ファイルが存在するかどうかを確認し、存在しない場合はfalseを返します。
ソースコードはdrupal/includes/file.incにあり、確認できます。