No puedo encontrar una función de API de Drupal en D7 que me indique si existe un archivo (no administrado). D6 tenía un file_check_location pero no para 7.
¿Cómo verificar si existe un archivo (no administrado)?
No puedo encontrar una función de API de Drupal en D7 que me indique si existe un archivo (no administrado). D6 tenía un file_check_location pero no para 7.
¿Cómo verificar si existe un archivo (no administrado)?
Respuestas:
Podrías usar la antigua función PHP estándar de bog file_exists()
si te entiendo bien:
$uri = 'public://images/an-image.jpg';
if (file_exists($uri)) {
// Do something
}
Esto también funciona para rutas normales (absolutas), por ejemplo:
$path = '/var/www/drupal/sites/default/files/images/an-image.jpg';
if (file_exists($path)) {
// Do something
}
file_exists()
y no funciona. Alguna explicación?
No sé cuál es su caso de uso específico, pero es posible que no necesite verificar si el archivo existe.
Las funciones file_unmanaged_copy, file_unmanaged_move, file_unmanaged_delete, file_unmanaged_delete_recursive y file_unmanaged_save_data verifican si el archivo existe y devuelven false si no es así.
Puede encontrar el código fuente en drupal / includes / file.inc y echar un vistazo.
Debe usar la función drupal:
file_destination ($ uri, FILE_EXISTS_ERROR)
y verifica
if (!file_destination($uri, FILE_EXISTS_ERROR)) {
// The file exist
// Do something
}
file_destination()
usosfile_exists()