Je crée un module de lecture Excel dans Drupal 8. Je veux obtenir le vrai chemin d'un fichier pour le lire à partir d'un chemin comme public: //2016-03/Places.xls.
Quelle fonction dois-je appeler pour obtenir le vrai chemin d'un fichier?
Enfin, j'ai obtenu la solution en creusant Drupal code.
Nous pouvons obtenir le chemin réel ou le chemin absolu en utilisant le service file_system.
$absolute_path = \Drupal::service('file_system')->realpath('public://2016-03/Places_2.xlsx');
La réponse @Nisam était correcte mais maintenant elle est déconseillée: fonction drupal_realpath
Obsolète
dans Drupal 8.0.x-dev, sera supprimé avant Drupal 9.0.0. Utilisez\Drupal\Core\File\FileSystem :: realpath ()).
Vous devez donc utiliser FileSystem :: realpath .
Exemple:
$file = File::load($file_id);
$uri = $file->getFileUri();
$stream_wrapper_manager = \Drupal::service('stream_wrapper_manager')->getViaUri($uri);
$file_path = $stream_wrapper_manager->realpath();