Estou criando um módulo de leitura do Excel no Drupal 8. Quero obter o caminho real de um arquivo para lê-lo a partir de um caminho como public: //2016-03/Places.xls.
Que função devo chamar para obter o caminho real de um arquivo?
Para ler com o que? Esse caminho funciona com quase tudo, por exemplo, file_get_contents ('public: // ...') funciona muito bem.
Berdir 8/03/16
1
Eu recebi a resposta em termos do drupal 8, é `\ Drupal :: service ('file_system') -> realpath ('public: //2016-03/Places_2.xlsx')`
Nisam
1
Publique como resposta e aceite como solução. Isso ajudará outras pessoas com a mesma pergunta.
Aram Boyajyan # 8/16
1
Eu tinha uma situação semelhante, mas acabei indo com file_create_url porque ele pode manipular managed files (These are files that have either been uploaded by users or were generated automatically (for example through CSS aggregation))eshipped files (those outside of the files directory, which ship as part of Drupal core or contributed modules or themes)
usernameabc
Respostas:
16
Finalmente, obtive a solução digitando o código Drupal.
Podemos obter o caminho real ou absoluto usando o serviço file_system .
são para upload de arquivos através do Drupal? O que acontece se eles estiverem hospedados externamente? The use of this method is discouraged, because it does not work for remote URIs. Except in rare cases, URIs should not be manually resolved.é mencionado o documention para FileSystem :: realpath
managed files (These are files that have either been uploaded by users or were generated automatically (for example through CSS aggregation))
eshipped files (those outside of the files directory, which ship as part of Drupal core or contributed modules or themes)
Respostas:
Finalmente, obtive a solução digitando o código Drupal.
Podemos obter o caminho real ou absoluto usando o serviço file_system .
fonte
The use of this method is discouraged, because it does not work for remote URIs. Except in rare cases, URIs should not be manually resolved.
é mencionado o documention para FileSystem :: realpathA resposta @Nisam estava certa, mas agora está obsoleta: function drupal_realpath
Portanto, você deve usar o FileSystem :: realpath .
Exemplo:
fonte