Подумайте об использовании оберток ( public://, private://и т. Д., Чтобы избежать любых конфликтов папок. Воспользуйтесь преимуществами Drupal 7 :))
AyeshK
Я знаю, что это работает с image_style_url (uri), но я хочу передать его в javascript в качестве переменной для дальнейшей обработки ... спасибо, хотя
Jurudocs
Ответы:
24
Эта информация сохраняется в таблице переменных Drupal. Используйте variable_getфункцию для получения этой информации, передавая имя правильной переменной:
Расположение публичной файловой системы :variable_get('file_public_path', conf_path() . '/files');
Расположение приватной файловой системы :variable_get('file_private_path');
Если вы хотите, чтобы временный каталог загрузки использовался, variable_get('file_temporary_path');если вы хотите определить системный каталог загрузки, независимо от фактической конфигурации сайта, используйте file_directory_tempфункцию.
variable_get('file_public_path', conf_path() . '/files'); выберет для вас путь по умолчанию, если он не был изменен или явно задан администратором сайта.
хм в моем случае variable_get ('file_public_path') пусто ... я должен вызывать его в ловушке или около того?
Jurudocs
1
@Jurudocs Используйте это вместо этого: в variable_get('file_public_path', conf_path() . '/files');основном, он выбирает путь по умолчанию для вас, если он не был изменен или явно установлен администратором сайта.
9ее1
@zhilevan Проверьте права доступа к файлам в этом каталоге.
Atomox
Это дает только относительный путь, который кажется менее полезным, чем абсолютный путь. Мне нравится drupal_realpathрешение ниже. Кажется более законным.
Алекс Финнарн
11
Чтобы получить абсолютные пути к файловой системе, используйте drupal_realpath(Drupal API) вместо file_create_url:
drupal_realpath('public://');// returns e.g. /var/www/drupal/sites/default/files
drupal_realpath('private://');// returns e.g. /var/www/drupal/sites/default/files_private
public://
,private://
и т. Д., Чтобы избежать любых конфликтов папок. Воспользуйтесь преимуществами Drupal 7 :))Ответы:
Эта информация сохраняется в таблице переменных Drupal. Используйте
variable_get
функцию для получения этой информации, передавая имя правильной переменной:variable_get('file_public_path', conf_path() . '/files');
variable_get('file_private_path');
Если вы хотите, чтобы временный каталог загрузки использовался,
variable_get('file_temporary_path');
если вы хотите определить системный каталог загрузки, независимо от фактической конфигурации сайта, используйтеfile_directory_temp
функцию.variable_get('file_public_path', conf_path() . '/files');
выберет для вас путь по умолчанию, если он не был изменен или явно задан администратором сайта.источник
variable_get('file_public_path', conf_path() . '/files');
основном, он выбирает путь по умолчанию для вас, если он не был изменен или явно установлен администратором сайта.drupal_realpath
решение ниже. Кажется более законным.Чтобы получить абсолютные пути к файловой системе, используйте
drupal_realpath
(Drupal API) вместоfile_create_url
:источник
Вы также можете использовать эти функции для получения действительного URL-адреса из относительного URI:
Они возвращают путь к общим или личным папкам.
источник