Перейти к публикации

Как вывести прямую ссылку на файл ?


Рекомендованные сообщения

Приветствую

Подскажите как вывести прямую ссылку на файл ? Dle 17, файлы загружены на несколько FTP серверов + Использую WebDav, Яндекс. Нужны прямые ссылки. От /index.php?do=download&id=971  Нагрузка Прост Сверх, сайт висит, падает. И почему стандартные ссылки на файл, сильно нагружают сервер ? и файл отдаётся не сразу с песня несколько секунд.

Ссылка на сообщение
Поделиться на других сайтах

при загрузке файлов выбирайте опцию что это публичный файл, тогда будут вставляться и использоваться прямые ссылки на скачивание файлов.

Ссылка на сообщение
Поделиться на других сайтах
Только что, celsoft сказал:

при загрузке файлов выбирайте опцию что это публичный файл, тогда будут вставляться и использоваться прямые ссылки на скачивание файлов.

Эт для новых файлов, а у меня 3 тысячи новостей =(, нехочется переделывать.

Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, Jyvvi сказал:

Эт для новых файлов, а у меня 3 тысячи новостей =(, нехочется переделывать.

Никак существующие файлы не станут публичными, потому как доступ к ним закрыт, и папка эта закрыта от публичного доступа. А прямых ссылок на них нигде не храниться. Ссылки вставляются в текст новости когда загружается файл, а новости храняться в готовом виде в базе данных, и само это не измениться если не редактировать новость.

3 часа назад, Jyvvi сказал:

И почему стандартные ссылки на файл, сильно нагружают сервер ?

Потому что они закрыты от публичного доступа и скачивание идет через DLE, т.е. их скачивает и отдает DLE, соответственно он все время работает в этот момент. Это несет нагрузку естественно. 

Ссылка на сообщение
Поделиться на других сайтах
16 часов назад, celsoft сказал:

закрыты от публичного доступа и скачивание идет через DLE

А если будет публичный доступ - меньше нагрузка на сервер будет идти? при наличие, что файлы хранятся на том же сервере(локально), на котором расположен сайт?

Ссылка на сообщение
Поделиться на других сайтах
34 минуты назад, kamensk сказал:

А если будет публичный доступ - меньше нагрузка на сервер будет идти? при наличие, что файлы хранятся на том же сервере(локально), на котором расположен сайт?

Естественно. При непубличной ссылки движку надо проверить залогинен ли юзер,есть ли у его группы допуск на скачивание и т.д и т.п,а это ,как ни крути все обращения к бд и ,соответственно,несёт за собой нагрузку. А при прямой ссылки ничего нигде не проверяется. Ну как-то так.

Ссылка на сообщение
Поделиться на других сайтах

Прямая ссылка всё-равно где-то лежит. Поэтому можно написать плагин, который будет выводить прямую ссылку. Не знаю как на новых версиях, до появления возможности публичных файлов такой плагин существовал и работал. Так что найдите программиста и всё.

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, redissx сказал:

Прямая ссылка всё-равно где-то лежит. Поэтому можно написать плагин, который будет выводить прямую ссылку. Не знаю как на новых версиях, до появления возможности публичных файлов такой плагин существовал и работал.

Нигде ничего не лежит и лежать не может в этом вопросе. Ни в новых версиях ни в старых. Вы что то путаете. Ссылки вы прописываете сами в текст новости когда вставляете в нее а не где то что то лежит отдельно. И какая ссылка будет прописана в новость, та и будет.

Ссылка на сообщение
Поделиться на других сайтах
50 минут назад, celsoft сказал:

Нигде ничего не лежит и лежать не может в этом вопросе. Ни в новых версиях ни в старых. Вы что то путаете. Ссылки вы прописываете сами в текст новости когда вставляете в нее а не где то что то лежит отдельно. И какая ссылка будет прописана в новость, та и будет.

Вот такой плагин работал, была прямая ссылка вместо ?do=download... при использовании {server-link} в attachment.tpl . Я помню, вы говорили это не очень для безопасности, но суть не в этом, можно было получить прямую ссылку.

У человека сайт с музыкой, думаю ему примерно это и нужно для доп поля загружаемый файл

Скрытый текст

<?xml version="1.0" encoding="utf-8"?>
<dleplugin>
	<name>Attach Link</name>
	<description></description>
	<icon></icon>
	<version></version>
	<dleversion>13.1</dleversion>
	<versioncompare>greater</versioncompare>
	<upgradeurl></upgradeurl>
	<filedelete>0</filedelete>
	<mysqlinstall><![CDATA[]]></mysqlinstall>
	<mysqlupgrade><![CDATA[]]></mysqlupgrade>
	<mysqlenable><![CDATA[]]></mysqlenable>
	<mysqldisable><![CDATA[]]></mysqldisable>
	<mysqldelete><![CDATA[]]></mysqldelete>
	<file name="engine/modules/functions.php">
		<operation action="after">
			<searchcode><![CDATA[$tpl->set( '{link}', $config['http_home_url']."index.php?do=download&id=".$row['id'].$area_link );]]></searchcode>
			<replacecode><![CDATA[$tpl->set('{server-link}', $config['http_home_url']. 'uploads/files/' . $row['onserver']);]]></replacecode>
		</operation>
	</file>
</dleplugin>

 

 

Ссылка на сообщение
Поделиться на других сайтах
Цитата

Вот такой плагин работал

Постарел я, точно, сейчас же все в шаблонах, а не в текстах публикаций в БД. Совсем вылетело из головы. Верно, вы правы, но не подойдет он этому человеку. Потому что тогда локально все было, у сейчас он пишет:

23 часа назад, Jyvvi сказал:

файлы загружены на несколько FTP серверов + Использую WebDav, Яндекс

Внешние сервера другая совершенно история и по другому делать нужно. Хотя я вообще не понимаю человека:

23 часа назад, Jyvvi сказал:

Эт для новых файлов, а у меня 3 тысячи новостей =(

Когда успел 3000 загрузить, когда поддержка разных серверов только только вышла ))) Это какой то автомат видимо, тогда если так быстро загрузил, то и перезагрузить с правильными параметрами думаю не сложно будет. Уж точно программиста дольше искать )). Да и переписывать вывод тоже плохое решение. Несовместимо с публичным режимом, т.е. он не сможет новые публикации перевести на публичный режим, потому как там разный формат хранения и как следствие вывода. А значит просто отсрочить проблему и возможно в будущем усугубить.

Ссылка на сообщение
Поделиться на других сайтах
6 часов назад, aleksandrhristich сказал:

как ни крути все обращения к бд и ,соответственно,несёт за собой нагрузку. А при прямой ссылки ничего нигде не проверяется. Ну как-то так.

Ну если я верно понимаю, с другой стороны - при прямой ссылке  увеличивается нагрузка на сервер неконтролируемо. Боты сосать начнут...

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...