我在D7中找不到可以告诉我是否存在(非托管)文件的Drupal API函数。D6有一个file_check_location,但没有7。
如何检查(非托管)文件是否存在?
我在D7中找不到可以告诉我是否存在(非托管)文件的Drupal API函数。D6有一个file_check_location,但没有7。
如何检查(非托管)文件是否存在?
Answers:
file_exists()
如果我理解正确,则可以只使用旧的沼泽标准PHP函数:
$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
}
file_exists()
它确实没有工作。有什么解释吗?
您应该使用drupal函数:
file_destination($ uri,FILE_EXISTS_ERROR)
并检查
if (!file_destination($uri, FILE_EXISTS_ERROR)) {
// The file exist
// Do something
}
file_destination()
使用file_exists()
功能工作