Non riesco a trovare una funzione API Drupal in D7 che mi dice se esiste un file (non gestito). D6 aveva un file_check_location ma non per 7.
Come verificare se esiste un file (non gestito)?
Non riesco a trovare una funzione API Drupal in D7 che mi dice se esiste un file (non gestito). D6 aveva un file_check_location ma non per 7.
Come verificare se esiste un file (non gestito)?
Risposte:
Potresti semplicemente usare la vecchia funzione PHP della palude file_exists()
se ti capisco bene:
$uri = 'public://images/an-image.jpg';
if (file_exists($uri)) {
// Do something
}
Questo funziona anche con percorsi normali (assoluti), ad esempio:
$path = '/var/www/drupal/sites/default/files/images/an-image.jpg';
if (file_exists($path)) {
// Do something
}
file_exists()
e non funziona. Alcuna spiegazione?
Non so quale sia il tuo caso d'uso specifico, ma potresti non aver bisogno di controllare per vedere se il file esiste.
Le funzioni file_unmanaged_copy, file_unmanaged_move, file_unmanaged_delete, file_unmanaged_delete_recursive e file_unmanaged_save_data controllano se il file esiste e restituiscono false in caso contrario.
Puoi trovare il codice sorgente in drupal / Includes / file.inc e dare un'occhiata.
Dovresti usare la funzione drupal:
file_destination ($ uri, FILE_EXISTS_ERROR)
e controlla
if (!file_destination($uri, FILE_EXISTS_ERROR)) {
// The file exist
// Do something
}
file_destination()
usi file_exists()
la funzione