Мультизагрузка картинок jquery uploadify
В противоположность задаче, рассмотренной в статье про скачивание (загрузку с сервера) иногда бывает нужно загрузить несколько файлов одновременно (или просто загрузить файл без обновления страницы). Встроенные HTML-формы и ajax (сам по себе) не позволяют загружать файлы без обновления страницы. Решается задача добавлением фрейма (фреймов), в которых и происходит загрузка, либо с использованием FLASH-загрузчика.
Удобный плагин для одновременной загрузки нескольких файлов с использованием Flash - JQuery uploadify . С возможностями плагина можно ознакомиться на официальном сайте. Там же можно посмотреть demo и найти рабочий пример
Некоторые сложности, которые могут возникнуть при работе с Uploadify-плагином :
Ошибки Uploadify при загрузке файла
Uploadify выдаёт сообщение http error
Сообщение об ошибке Uploadify IO error
Как правило, ошибки возникают из-за настройки хостинга - вносим в .htaccess строки для проверки
LimitRequestBody 10000000
php_value upload_max_filesize 256M
php_value post_max_size 300M
php_value max_input_time 500
SecFilterEngine Off
Uploadify HTTP Error
Как пофиксить ошибку Http error при загрузке файла
# решается проблема с загрузкой
# файлов при помощи FLASH-загрузчика
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
<IfModule security_module>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
<IfModule security2_module>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
HTTP-ошибка 302 - редирект
- Если файл скрипта проверяет авторизацию, то следует иметь ввиду, что сессия флэш-загрузчика отличается от сессии браузера, то есть флэш-загрузчик фактически не определяется как авторизованный пользователь. Для корректной работы в этом случае следует включить информацию о сессии в scriptData и “вручную” разбирать её в скрипте
- Если в .htaccess настроена переадресация на хост с www или без www - возможно, что загрузчик при попытке передать файл получает ответом редирект на другой домен
При работе с Uploadify не получается:
Не могу добавить русский текст на кнопку - вместо русских букв какие-то цифры. Действительно, Uploadify не поддерживает надписи на русском языке. Можно использовать изображение кнопки (параметр buttonImg).
При загрузке файлов с названиями на русском языке в кодировке windows получаются кракозябры. Это не к плагину, а к файловой системе Linux. В скрипте загрузки можно обработать имя файла, например, транслитерировать его.. или задать цифробуквенную комбинацию. Либо конвертировать имя файла при помощи функции iconv
$targetFile = str_replace('//','/',$targetPath) . iconv('UTF-8', 'WINDOWS-1251', urldecode($_FILES['Filedata']['name']));
Невероятно помогли! Спасибо. Русские название загружаются теперь в нужной кодировке.