Воскресенье, 19.05.2024, 01:57
Приколы на Mir-Zvezd. Лучшие фото приколы
Главная | Каталог файлов | Регистрация | Вход
Меню сайта
  • Объявления в Оренбурге
  • Категории раздела
    Фото приколы [113]
    Обоина дня [0]
    Братья наши меньшие [0]
    Фото девушек [1]
    Демотиваторы [0]
    Котоматрицы [0]
    Карикатуры [0]
    Комиксы [0]
    Фотожабы [0]
    Интересное [1]
    Как прекрасен этот мир [0]
    Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0

    Загрузка attachment с удаленного сервера
    19.11.2013, 01:48


    Простая реализация скачивания аттачментов со стороннего фтп сервера при нехватке места на VDS

    Расскажу Вам свою историю как я докатился до этого хака: приобрел в своем городе сайт, что стоял на винде, и в придачу винт на 2 терабайта, и посчитал, что ни дело ему под виндою мучатся, и отправил я сайт на VDS под линукс, там и настроят, и помогут smile К сожалению, виртуальные вдски не позволяют хранить такой объем данных как 2 терабайт, а покупать в аренду выделенный сервер (что стоит от 3 т / мес) мне явно ни по карману. Пришлось думать, как же организовать загрузку файлов, что были залиты аттачментом на сайт но с другого, домашнего фтп. Итак, хак будет полезен для тех у кого закончилось пространство на вдс и все файлы нужно перенести на другой, например домашний фтп.

    Загружаем файлы с uploads/files себе на фтп, ничего не трогаем, префикс оставляем.

    Идем в папку engine, скачиваем download.php переименовываем в download2.php и заливаем на сервер, далее открываем download.php находим define ( 'FILE_DIR', '../uploads/files/' ); меняем на define ( 'FILE_DIR', 'ftp://адрес_вашего_фтп/' );

    Для того, чтобы новые файлы корректно заливались, идем в engine/ajax/upload.php , ищем $('#fileurl').val( '[attachment='+$(this).data('src') +']' ); меняем на $('#fileurl').val( '[url=http://адрес_сайта/engine/download2.php?id='+$(this).data('src') +'][img]http://адрес_сайта.ru/желаемая_картинка[/img][/url]' );
    далее ищем links[t] = '[attachment='+elmnt.value+']'; меняем на links[t] = '[url=http://адрес_сайта.ru/engine/download2.php?id='+elmnt.value+'][img]http://адрес_сайта/желаемая_картинка[/img][/url]';

    Теперь при заливке новых файлов вместо attachment будет картинка, тобишь в окне, где мы вибраем файл для вставки, вставится следующая конструкция - ddddddddddddddddddd

    [center][url=http://сайт.ru/engine/download2.php?id=10599][img]http://сайт.ru/картинка[/img][/url][/center]

    которую мы и вставляем вместо аттачмента, иначе никак )

    и теперь ОЧЕНЬ ВАЖНЫЙ ПУНКТ в engine/classes/download.class.php находим fseek( $handle, $range ); и удаляем, иначе следующая ошибка Warning: fseek(): stream does not support seeking in /var/www/pg/data/www/softorion.ru/engine/classes/download.class.php on line 103 которая записывается в каждый файл после закачки, и они становятся нерабочие! Это решение помогло. Все файлы как с удаленного фтп так и новые загруженные на VDS заливаются и открываются корректно!

    Загрузку новых файлов на свой фтп вы можете организовать другими методами, до этого еще не додумался ) Есть модуль для этого ftp files но его установить я так и не смог, разработчик не отвечает.

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

    Пример работы вышеописанного хака Вы можете увидеть на нашем софт портале http://softorion.ru/

    только ни в самых первых новостях, а например тут http://softorion.ru/index.php?newsid=11988 файл по первой ссылке на самом деле качается с совершенно другого сервера! На альтернативную ссылку внимания не обращаем, это я уже под себя делал ссылку для скачивания файлов залитых без префикса.
    Категория: Фото приколы | Добавил: ZeN
    Просмотров: 541 | Загрузок: 0 | Комментарии: 1 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Имя *:
    Email *:
    Код *:
    Вход на сайт
    Поиск
    Друзья сайта