- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
ivan-lev, конкретно к вам вопросов нет, уже почитал все ваши ссылки и задумался. Мат часть в порядке. Могу писать не слово хостинг а слово сервер. По части изменения стратегии (ftp) пока не хочу менять ее, так как уже есть рабочий "кейс" по передачи инфы post запросом. Может быть ftp это круто, но на моей практике - несколько раз взламывались сайты именно через ftp .. опять-таки для отправки по ftp,возможно, так как не точно не знаю, нужно будет блоб все-таки преобразовывать в файл.. Я же хотел обойтись малой кровью. В частности - отправлять post-ом файлы. В принципе думаю можно обработать blob base64 и уже отправлять как чистую строку.. А на хостин.. прошу прощения на удаленном арендованном, (возможно виртуальном) сервере, однако не выделенном, уже конвертировать base64 в файл спокойно..
---------- Добавлено 28.10.2012 в 12:55 ----------
kiff86,
P.S.
Отходя от темы немного, хотел спросить, так как не до конца понимаю. Вот на сервере у хостера есть ограничение, например 20 файлов за раз максимум. Вот только что значит "Максимально разрешенное количество одновременно закачиваемых файлов". То есть если я в одном запросе кидаю 20 файлов то 21 уже не пройдет. А если у меня два запроса по 20 файлов? То есть если я на стороне отправителя [клиента] сделаю 2 запроса в которых отправлю 20 файлов в разных потоках.. Заметил [просто увидел] что при передаче по ftp файлов все передачи идут последовательно.. В варианте многопоточных запросов будет ли сокращение времени загрузки того же кол-ва файлов?
Что на хостинге (выделенном пространстве) не допускается для редактирования.
Все меняется! Не на всех правда хостингах, но на многих(нормальных), некоторые настройки можно менять через .HTACCESS или функцию ПХП ini_set();
Правда не все настройки можно поменять, есть те, которые меняются только в самом php.ini - это доступно только на "своем" хостинге.
http://www.php.net/manual/ru/ini.core.php - че и где меняется
http://www.php.net/configuration.changes.modes.php - толкование ГДЕшек из предыдущей ссылки.
Милованов Ю.С,
Так я перед тем как говорить что не меняется на моем хостинге - уточнил у хостера.
Максимально разрешенное количество одновременно закачиваемых файлов.
Хоть это 20 юзеров по 1 файлу отправляют, хоть 2 юзера по 10 файлов.
То есть в один момент времени будет приниматься не более 20 файлов.
Вообще, можно например создать 5 поддоменов, и реализовать систему "ожиданий".
Например, прога делает запрос на сервер(я тебе могу отправить файл, или ты занет???), если сервер не может принять файл, так как уже принимает максимально возможное кол-во файлов, то прога грузит файл на subdomain1.site.ru, также отправив туда запрос на отправление. Итого, имея 5 поддоменов Вы можете отправлять до 120(6*20) файлов в один момент времени.
Потом, реализовать ПХП-скрипт(на site.ru), который по крону будет с поддоменов забирать файлы себе.(учитывая, что основной сайт и поодомены будут находится в одной ФС, думаю, что это будет происходить быстро)
ЗЫ. как сделать запрос к серверу на возможность принять файл не знаю:) Но предполагаю, что это возможно. Ivan-Lev, наверное знает.
Милованов Ю.С,
ок, тогда, что значит в один момент времени?
то есть, пока не закачается 20 файлов отправленных. Сервер не будет обрабатывать запросы на передачу файлов?
В данном варианте подразумеваю, что после закачки любого из 20 файлов сервер примет еще один файл?
Милованов Ю.С, чуть выше даже ссылка была - указанная директива меняется в PHP_INI_SYSTEM.
Правда не все настройки можно поменять, есть те, которые меняются только в самом php.ini - это доступно только на "своем" хостинге.
Если уж на то пошло, то suPHP /к примеру, на cpanel ставят - в смысле, не "экзотика"/ позволяет отдельному пользователю (и даже для отдельного сайта) изменять настройки php.ini (те, которые разрешены хостером). Естественно, если хостинг позволяет - уточнять у хостера.
kiff86, не понимаю.. Объём БЛОБ-ов большой? Возможно, имеет смысл упаковать их все в один файл (В архив.. тот же zip? Или просто скидать один за другим с границей (а-ля Boundary по аналогии.. или 2 пустые (?одинаковые экзотичные) строчки.. или ещё как-нибудь) сложить) и потом отправить POST-запросом.. На сервере всё равно разбирать.. предварительно "распаковку" добавить..
ivan-lev,
Объем блоб-бов... хммм.. 5000 примерно.
проблемы две:
1. скидать их все через boundary [не опробованная новая тропа))]
2. обработать на стороне сервера - тут конечно тоже момент.. Не разбирал запросы никогда так детально. То есть до этого момента хватало обычного глобального REQUSET.. Собрав все blobs и отправить думаю не даст хостер (если не по количеству max_post_size то по объему выделенной оперативке).. Так что думалось отправлять эти данные поэтапно..
Но так как самый простой способ - отправить постом строку, думалось брать блоб из бд конвертить в base64 и отправлять по пост (тут даже можно соединять без проблем), и принимать было бы просто - то есть забирать из REQUEST строку декодить и писать в файл например..
ТС, у Вас рпроблема на ровном месте. Какие сделать колеса машине - квадратные, треугольные или трапецевидные?
Вам по какой поверности ехать, что за авто?
Так и тут.
Опишите более широко проблему, зачем, почему, кто и куда.
Я вообще не понимаю суть проблемы.
BLOB Хранят данные в двоинчом (бинарном) виде, мы берем их, и например, отправляем партиями (зависит от кол-ва байт разрешенных для приема на хостинге) на сервер, пока не закончатся данные. Уведомляем сервер, что все - файл передан. Открываем новую передачу файла, и так до тех пор, пока есть файлы.
Все остальное - это конкретные реализации под конкретную платформу и язык.
Сокеты - это всего лишь инструмент для всзамодействия сетевых программ. Нужно поинмать как формируются сообщения, знать протокол передачи данных. Для Вас это будет связка TCP \ IP. Т.е. для устаовки канала связи.
ДАлее определяется формат передачси сообщений.
Для общения с http сервером используют потокол передачи данных HTTP, который описывает формат передачи:
ЗАголовок и тело
Для POST Запросов используется и ЗАголовок и ТЕЛО сообщения.
В теле кладете всю текстовую информацию. МОжете ее закодировать хоть в BASE64, хоть по собственному алго.
В заголовке указываете доплнительную деталь: если это кусок сообщений, то уведомить об этом.
Главное, чтобы программа на сервере HTTP умела принимать и понимать такие данные.
Возьмите книгу по Делфи и PHP и откройте галвы сетевое взаимодействие.
Или Вы удмаете, что на PHP все волшебным образом работает? Все те же сокеты. Толкь скрытые прослойкой и представленные для вызова функции get, send, ftp_connect и прочее.
Вот Вам в тему
http://ru.wikipedia.org/wiki/Сетевая_модель_OSI
Объем блоб-бов... хммм.. 5000 примерно.
эм.. это, видимо, количество.. имел ввиду размер в байтах.. Есть ли смысл сжимать.. компоновать вместе.. именно из-за размера.
Как часто "такое" требуется - одно дело "разово".. другое - постоянно.. Что у хостера с лимитами.. помимо тех, что можно посмотреть в PHP есть ещё CPU..
В общем, обсуждение сферических коней в вакууме...
p.s. если размер большой - вариант с загрузкой всего на FTP и последующим разбором (к примеру, пока в каталоге есть файлы - разбирать, например, по 5 и удалять).. не такой уж "плохой"..
Собрав все blobs и отправить думаю не даст хостер (если не по количеству max_post_size то по объему выделенной оперативке)
Зачем думать? весь файл не нужно пихать в оперативку - разбирать частями.. (см fread - читать по кускам.. до следующей границы )
max_execution_time, max_post_size, upload_max_filesize - как правило, всё устанавливается в .htaccess
я на дельфи когда-то делал такое по пост запросу, отказался как раз
из-за легкости взламывания такой системы.
В этом смысле фтп конечно совершенно другой (более высокий) уровень безопасности прямо "из коробки".
Там еще есть некие заморочки с http - типа лимит на время работы скрипта,
лимит на размер файла по пост и тд и еще фтп бинарный т.е. быстрее,
а пост придется бинарные данные увеличить в 1.5 раза...