2014-12-30 4 views
3

Я хочу загрузить более 1000-3000 изображений в сообщение, используя функциональность «Добавить медиа».Как загрузить сотни изображений в сообщении?

Если я добавляю их в окно загрузки мультимедиа (перетаскивание или выбор), браузер предупреждает меня, что сценарий отстает. Например, на firefox:

Сценарий на этой странице может быть занят или может перестать отвечать. Теперь вы можете остановить скрипт, открыть скрипт в отладчике или продолжить сценарий .Script: ../wp-admin/load-scripts.php?c=0 & load% 5B% 5D = jquery-core, jquery -migrate, Utils, plupload, json2 & вер = 4.1: 2

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

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

Примечание: Это часть плагина, который я создаю, когда пользователь должен будет приложить сотни изображений в каждом сообщении (например, в галерее). Конечно, я хочу использовать существующую функциональность, а не изобретать колесо.

+0

Возможно, обустройство такого поведения в WordPress не является идеальным? – ceejayoz

+0

Не понимаю, почему это не идеал? – thanassis

+0

«Добавить медиа» для добавления нескольких изображений в сообщение в блоге. Он не предназначен для 3 000 галерей изображений. Вы столкнетесь с бесконечными проблемами и должны либо преследовать специальный плагин галереи, либо одно из многих программных продуктов для галереи PHP. – ceejayoz

ответ

1

Это ожидаемое поведение, так как большинство сценариев загрузки ajax отправляют файлы при перетаскивании. В зависимости от размера фотографий вы можете потреблять максимальный объем оперативной памяти для браузеров (так как большинство из них - 32 бит). 3000 изображений по 1 МБ каждый составляют 3 ГБ и около предела. Вероятно, потребуется несколько часов, чтобы перебросить эти данные.

Было бы предпочтено установить учетную запись sftp, а затем импортировать эти файлы сценария. Передача займет меньше времени. Объемный импорт не будет длиться минуту или две.

Причина, по которой я предлагаю это, заключается в том, что веб-браузеры не были предназначены для массовой загрузки файлов. Является ли это возможным? Да. Я рекомендую? Нет. Как и я не рекомендую брать мой феррари через лужу глубиной 3 фута. Ваш метод заполнения файлов через php для массовой загрузки также загружает ваш сервер. Я бы тоже не рекомендовал ее распараллеливать. Вы добавите значительную нагрузку на свой сервер и можете заставить сайт перестать отвечать на запросы.

Выполнение загрузки за пределами вашего веб-сервера (apache или ngix) является гораздо более безопасным, безопасным и менее ресурсоемким решением.

+0

Я думал об этом, но я хочу избежать этого решения. Я хочу точно понять, в чем проблема в моем случае. – thanassis

+1

В вашем случае браузер не отвечает из-за него, загружая свои компьютерные ресурсы. Ваш загрузчик не размещает товары в очереди, пытаясь открыть HTTP-соединение для каждого изображения. что в конечном итоге приведет к сбою большинства подключений. Так что на самом деле есть много вещей на работе. – geggleto

+0

http://wordpress.stackexchange.com/questions/81962/how-to-upload-thousands-of-images addendum – geggleto

0

Вы хотите добавить 1000 или более изображений в пост означает непосредственно загрузить

YOURSITENAME/WP-содержание/дата загрузки/currentmonthfolder

и если и завершения означает, что вы должны добавить IMG тег вручную, в частности, пост

+0

Когда вы загружаете медиапресс, делайте много работы внутри (создайте вложение/сообщение), а не просто загрузите носителя в папке. – thanassis

+0

извините, я не понимаю. – sankar

+0

Wordpress создает тип сообщения вложения, если я загружаю изображение из 'media'. В своем решении вы предлагаете загрузить напрямую, чтобы загрузить папку. Может быть, я не понимаю, что ты отвечаешь. Что означает «непосредственно загрузить» и «добавить тег img вручную»? – thanassis