zzaaa 1 Опубликовано: 27 января 2011 Рассказать Опубликовано: 27 января 2011 Дело в том, что я имею крупный проект, у меня хранится много информации (графика, видео, mp3). И все это находится в директории /uploads/, мне бы хотелось сделать так, чтобы при загрузке какой-либо информации я мог выбрать на какой сервер загрузить (т.е. u.site.com, f.site.com и др.) и прошу заметить то, что эти поддомены будут находиться на другом сервере. Это очень похоже на ftp-files 1.5, который отказывается работать. Кто готов сделать такой модуль? Цитата Ссылка на сообщение Поделиться на других сайтах
Azat868 2 Опубликовано: 27 января 2011 Рассказать Опубликовано: 27 января 2011 Хм...разве изначально модуль ftp-files не был платным? Разве у него нет автора? Почему писать с нуля то что уже есть и надо только подправить? Цитата Ссылка на сообщение Поделиться на других сайтах
zzaaa 1 Опубликовано: 27 января 2011 Рассказать Опубликовано: 27 января 2011 Автор Хм...разве изначально модуль ftp-files не был платным? Разве у него нет автора? Почему писать с нуля то что уже есть и надо только подправить? Я буду согласен и на подправку. Если готовы помочь - оставьте контакты. Цитата Ссылка на сообщение Поделиться на других сайтах
zzaaa 1 Опубликовано: 27 января 2011 Рассказать Опубликовано: 27 января 2011 Автор написал автору скрипта, но он им уже не занимается.. Цитата Ссылка на сообщение Поделиться на других сайтах
a1ex 60 Опубликовано: 27 января 2011 Рассказать Опубликовано: 27 января 2011 можете написать в асю, там и поговорим об этом 22337036один Цитата Ссылка на сообщение Поделиться на других сайтах
IgorA100 90 Опубликовано: 30 января 2011 Рассказать Опубликовано: 30 января 2011 (изменено) Это очень похоже на ftp-files 1.5, Я как-то смотрел этот модуль. Очень много изменений надо сносить в код движка, что не есть гуд при последующих обновлениях. По хорошему, нужно нечто подобное, но с гораздо наименьшим вмешательством в код движка да еще и в БД изменения вносить.... Сам озадачен необходимостью такого модуля... Изменено 30 января 2011 пользователем IgorA100 Цитата Ссылка на сообщение Поделиться на других сайтах
IgorA100 90 Опубликовано: 30 января 2011 Рассказать Опубликовано: 30 января 2011 Это очень похоже на ftp-files 1.5 написал автору скрипта, но он им уже не занимается.. В общем посмотрел я этот скрипт сегодня более досконально. Навскидку прикрутил его к 9.2, но есть еще пара вопросов у меня. Если будет время - на днях еще копну. И если ве будет нормально, выложу адаптированную версию... Цитата Ссылка на сообщение Поделиться на других сайтах
zzaaa 1 Опубликовано: 1 февраля 2011 Рассказать Опубликовано: 1 февраля 2011 Автор Спасибо Вам большое! Цитата Ссылка на сообщение Поделиться на других сайтах
IgorA100 90 Опубликовано: 3 февраля 2011 Рассказать Опубликовано: 3 февраля 2011 Блин, кто знает как открыв дочернее окно при его закрытии вернуть в родительское окно определенное значение? К примеру открываю дочернее окно: <div><input class="buttons" type="button" value = "..." onclick="mywindow=window.open('ftp/ftp.php' ,'','height=300, width=300' );"> В родительском имеем код: <input id="ftpput" class="edit bk" type="text" name="ftpserverfile" size=42> Как сделать так, чтобы при его закрытии дочернего в родительском окне значение поле "ftpserverfile" стало равно "ААА" и соответственно с отображением на экране ? Цитата Ссылка на сообщение Поделиться на других сайтах
zgr 72 Опубликовано: 4 февраля 2011 Рассказать Опубликовано: 4 февраля 2011 Самый простой способ, который мне известен - передать любым из запросов (ГЕТ или ПОСТ) переменные через пути, напримерр, ГЕТОМ, а в пхп отловить этот запрос и передать в окно. Другие способы не знаю, да вроде других и не существует, если только эти окна на одной странице формируются, тогда через простой JS (пути ДОМ), думаю, можно метки передать, но для этого нужно быть спецом либо в JS, либо в аяксе. Зачем вообще такой гемор нужен? Цитата Ссылка на сообщение Поделиться на других сайтах
IgorA100 90 Опубликовано: 4 февраля 2011 Рассказать Опубликовано: 4 февраля 2011 Зачем вообще такой гемор нужен? Думаю сделать управление папками по ФТП, с выбором папки куда грузить файл, если нет такой папки - создать ее и т.п. И все это в отдельном окне делать, вызов которого буде происходить из files.php. Не городить же все это в одном стандартном окне загрузки файлов тогда через простой JS (пути ДОМ) Да, что-то такое думал сделать, но ....... Цитата Ссылка на сообщение Поделиться на других сайтах
zgr 72 Опубликовано: 4 февраля 2011 Рассказать Опубликовано: 4 февраля 2011 Не городить же все это в одном стандартном окне загрузки файлов Всё управление можно сделать автоматом, без всяких окон и в одной странице. Цитата Ссылка на сообщение Поделиться на других сайтах
IgorA100 90 Опубликовано: 4 февраля 2011 Рассказать Опубликовано: 4 февраля 2011 Всё управление можно сделать автоматом, без всяких окон и в одной странице. Мысли в студию Цитата Ссылка на сообщение Поделиться на других сайтах
zgr 72 Опубликовано: 5 февраля 2011 Рассказать Опубликовано: 5 февраля 2011 Мысли в студию Уже написал, видимо, готовый код нужен? error_reporting(E_ALL); ini_set('display_errors',TRUE); ini_set('display_startup_errors',TRUE); #set_error_handler('my_error_handler',E_ALL); $dir = $_SERVER['DOCUMENT_ROOT'].'/uploads/headers'; if (!is_dir($dir)) { if (!mkdir($dir,0777)) die("Cat't creation folder: $dir/."); if (!mkdir("$dir/thumbs",0777)) die("Cat't creation folder: $dir/thumbs/."); } $myfiles['allow'] = 'jpg,jpeg,png,gif'; $myfiles['list'] = glob("$dir/*.{{$myfiles['allow']}}",GLOB_BRACE); $myfiles['count'] = count($myfiles['list']); $thumbs['maxsize_width'] = 100; #Ðàçìåð ïîñòåðà. $thumbs['maxsize_height'] = 100; #Ðàçìåð ïîñòåðà. $poster['maxsize_width'] = 1024; #Ðàçìåð ïîñòåðà. $poster['maxsize_height'] = 1024; #Ðàçìåð ïîñòåðà. $quality = 85; if (isset($_FILES['poster']) && is_array($_FILES['poster']) && $_FILES['poster']!=null) { $err_poster = false; ... } $get = (isset($_GET['go']) && trim($_GET['go'])!='' && strpos($_GET['go'],'.')!==false)?trim($_GET['go']):false; if ($get) { define('DATALIFEENGINE',true); if (!defined('ROOT_DIR')) { define('ROOT_DIR',$_SERVER['DOCUMENT_ROOT']); define('ENGINE_DIR',ROOT_DIR.'/engine'); } include_once ENGINE_DIR.'/data/config.php'; include_once ENGINE_DIR.'/api/api.class.php'; $count = $db->super_query("SELECT COUNT(*) AS count FROM ".PREFIX."_header"); $count = $count['count']; if (!$count) $db->query("INSERT INTO ".PREFIX."_header VALUES ('$get')"); else $db->query("UPDATE ".PREFIX."_header SET path='$get'"); #unset($count,$get); $db->free(); $db->close(); exit(); } #else unset($get,$_GET,$_POST); if ($get=="delete") { ... } else if ($get=="upload") { ... } else if ($get=="show_thumb") { ... } else if ($get=="show_list") { ... } else { ... } Вот пример вырезки кусочка кода из моего последнего мода: меняет шаб (шапку) сайта по клику на иконку шаба, появляется при наводе на миниатюру иконки кнопки и информация о шабе - можно удалить/изменить. Можно прямо на этой же странице опять же без перезагрузок показать шабы миниатюрами, либо вывести их список, тут же можно загрузить новый. Всё это делается на одной странице в админке в одном файлике php - всё сделал на автопилоте: кликнули - загрузился новый шаб, подвели мышку - показались доп. кнопки для редактирования/удаления "на лету", либо кликаем на миниатюру - "на лету" меняется шаб. Аналогично можно сделать что угодно и как угодно - никаких привязок ни к ДЛЕ, ни к чему-либо еще. Остальное показать не могу - секрет Фирма, думаю, достаточно материала для написания похожего мода Примеров аякса полно в сети, хоть на чистом JS, хоть на библиотеках, например, Джиквери. Цитата Ссылка на сообщение Поделиться на других сайтах
IgorA100 90 Опубликовано: 7 февраля 2011 Рассказать Опубликовано: 7 февраля 2011 Я вот на чем еще задумался.... Ведь через РНР все равно грузится вначале на сервак где стоит ДЛЕ, а уже оттуда перекачивается на ФТП, т.е. передача то все равно идет по HTTP. Почитал Гугла немного и наткнулся на это: http://pear.php.net/package/HTTP_Request2. По уму - надо бы замутить нечто такое, но не на каждом хостинге такое возможно, да и разбираться в этом надо еще дооооолго. Цитата Ссылка на сообщение Поделиться на других сайтах
zgr 72 Опубликовано: 7 февраля 2011 Рассказать Опубликовано: 7 февраля 2011 Я вот на чем еще задумался.... Бросьте это гиблое дело Ведь через РНР все равно грузится вначале на сервак где стоит ДЛЕ, а уже оттуда перекачивается на ФТП, т.е. передача то все равно идет по HTTP. Файл, если нужно передать на другой сервер, никуда не закачивается, а сразу передается потоком на другой сервер через обычный аякс-запрос и, если запрос поступил, то на втором серваке этот файл сразу принимается хоть по открытому каналу, хоть с шифрованием. Для этого доступ к ФТП и прочее не нужно, всё в php работает и гораздо проще, самая простая функция получения файла - file_put_content(). Весь код буквально несколько строк занимает. но не на каждом хостинге такое возможно Если php нет на хостинге или нет прав на запись файла - то да, невозможно такое сделать, например, на хостинге Народ.ру. Цитата Ссылка на сообщение Поделиться на других сайтах
IgorA100 90 Опубликовано: 8 февраля 2011 Рассказать Опубликовано: 8 февраля 2011 file_put_content() Не, это не то..... Есть сайт сделанный на ДЛЕ (да пофиг на чем....) хостится на "Хост1". Есть ФТПшник находящийся на "Хост2" Задача: Скриптом находящимся на "Хост1" залить файл размером 1000Мб находящийся на локальной машине пользователя по протоколу FTP на "Хост2" минуя промежуточное сохранение временного файла на "Хост1". КАК такое реализовать? Цитата Ссылка на сообщение Поделиться на других сайтах
IgorA100 90 Опубликовано: 9 февраля 2011 Рассказать Опубликовано: 9 февраля 2011 Такс, свет в конце туннеля проявляется. Основное вроде закончено, тестю ЗЫ: Времени особо нет, все делаю урывками. Скорее всего к выходным или после них выложу то, что получилось. Основной недостаток - загрузка файла идет сначала на хостинг, а только потом перемещается на ФТП. Но для исправления этого момента нужно.... долго думать и читать Цитата Ссылка на сообщение Поделиться на других сайтах
zzaaa 1 Опубликовано: 12 февраля 2011 Рассказать Опубликовано: 12 февраля 2011 Автор Это уже лучше) Цитата Ссылка на сообщение Поделиться на других сайтах
IgorA100 90 Опубликовано: 6 марта 2011 Рассказать Опубликовано: 6 марта 2011 Собственно вот: http://www.kentavr.com.ru/forum/viewtopic.php?f=28&t=166 Модуль готов, просьба потестить. В коде есть немного "мусора", но он не влияет на работу... Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.