Для чтения с чем? Этот путь работает практически со всем, например, file_get_contents ('public: // ...') работает просто отлично.
Бердир
1
Я получил ответ с точки зрения drupal 8: `\ Drupal :: service ('file_system') -> realpath ('public: //2016-03/Places_2.xlsx')`
Nisam
1
Отправьте это как ответ и примите это как решение. Это поможет другим с тем же вопросом.
Арам Бояджян
1
У меня была похожая ситуация, но в итоге я пошел с file_create_url, потому что он может обрабатывать managed files (These are files that have either been uploaded by users or were generated automatically (for example through CSS aggregation))иshipped files (those outside of the files directory, which ship as part of Drupal core or contributed modules or themes)
usernameabc
Ответы:
16
Наконец, я нашел решение, копая код Drupal.
Мы можем получить реальный или абсолютный путь с помощью сервиса file_system .
это для загрузки файлов через Drupal? Что произойдет, если они размещены снаружи? 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.упоминается документация для FileSystem :: realpath
managed files (These are files that have either been uploaded by users or were generated automatically (for example through CSS aggregation))
иshipped files (those outside of the files directory, which ship as part of Drupal core or contributed modules or themes)
Ответы:
Наконец, я нашел решение, копая код Drupal.
Мы можем получить реальный или абсолютный путь с помощью сервиса file_system .
источник
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.
упоминается документация для FileSystem :: realpathОтвет @Nisam был верным, но теперь он устарел: функция drupal_realpath
Поэтому вы должны использовать FileSystem :: realpath .
Пример:
источник