Как создать ссылку на файлы, используя относительный путь?


Мой сайт находится в папке sites/sandbox. Когда я загружу на живой сервер, это изменится на sites/mysite

В настройках файловой системы путь к общедоступной файловой системе установлен в sites/sandbox/files. Когда сайт заработает, я планирую изменить это на sites/mysite/files

Модуль файлов включен, и я загружаю PDF-файлы. При вводе контента, как я могу ссылаться на загруженный файл, используя относительный путь, который не будет нарушен, когда сайт заработает?

Или, возможно, имя каталога сайта ("песочница") должно никогда не изменится?

 4
Author: pushka, 2011-06-17

4 answers

Модуль Патологический исправит все это для вас автоматически, когда вы переместите его

Патологический - это входной фильтр, который может корректировать пути в ссылках и изображениях в вашем контенте Drupal в ситуациях, которые в противном случае привели бы к их "разрыву"; например, если URL-адрес сайта изменился или контент был перемещен на другой сервер. Патологический также может решить проблему отсутствия изображений и неработающих ссылок в RSS-каналах вашего сайта. См. дополнительные примеры использования на странице документации.

 3
Author: Krishna Mohan, 2014-08-06 13:28:06

Вы пробовали file_create_url()?

$file_uri = file_create_url(file_build_uri('images/example.jpeg'));

Приведенный выше фрагмент даст URL-адрес файла. Кроме того, я рекомендую модуль транслитерации для сайтов, которые занимаются загрузкой файлов.

 4
Author: Sivaji, 2011-06-18 09:31:04

Используйте base_path() (функция) ИЛИ $base_path (глобальная переменная), что приведет к /sites/mysites ИЛИ /sites/sandbox для ваших сайтов. Всегда используйте его в темах и везде. Это позволит вам легко синхронизировать оба сайта с любым редактированием.

Ссылки могут быть созданы

l('Link Title', base_path() . "/files/filename.ext");

ИЛИ

global $base_path;
l('Link Title', $base_path . "/files/filename.ext");
 1
Author: Shoaib Nawaz, 2011-06-17 16:28:21

Модуль LinkIt представляет собой довольно комплексное решение для вставки ссылок в поля и wysiwygs в действительно любом выбранном вами формате. Я использую файловую сущность и носитель, а интеграция LinkIt с WYSIWYG позволяет мне вставлять ссылки на файлы так, как мне хотелось бы, включая прямые ссылки на файл для желаемого поведения "открыть в браузере". В нем также есть отличная функция автозаполнения поиска для поиска узлов или файлов. Жаль, что я не нашел его раньше.

 0
Author: cdmo, 2016-06-28 13:32:10