Рассмотрим простой и удобный плагин к jQuery для загрузки файлов на сервер Uploadify.
Подключается все, как всегда, простенько и быстренько! Ну, тогда стразу и пример загрузки файлов.
Подключаем jQuery и плагин:
<script language="JavaScript1.2" src="jquery.js" type="text/javascript"></script> <script language="JavaScript1.2" src="jquery.uploadify.js" type="text/javascript"></script>
Стиль:
<link rel='stylesheet' href='uploadify.css' type='text/css' media='all' />
JavaScript.
Для одиночной загрузки:
$('#fileInput1').fileUpload({
'uploader':'uploader.swf',
'script':'upload.php',
'cancelImg':'cancel.png',
'folder':'uploads'
});
Для загрузки сразу нескольких файлов:
$('#fileInput2').fileUpload({
'uploader':'uploader.swf',
'script':'upload.php',
'cancelImg':'cancel.png',
'folder':'uploads',
'multi':true
});
Для автоматической одиночной загрузки файла:
$('#fileInput3').fileUpload({
'uploader':'uploader.swf',
'script':'upload.php',
'cancelImg':'cancel.png',
'folder':'uploads',
'auto':true
});
Для автоматической одиночной загрузки файла со своей кнопкой - картинкой:
$('#fileInput4').fileUpload({
'uploader':'uploader.swf',
'script':'upload.php',
'cancelImg':'cancel.png',
'folder':'uploads',
'buttonImg':'browse-files.png',
'wmode':'transparent',
'width':130,
'auto':true
});
Ну и один из контейнеров для загрузки файла в HTML коде:
<div class="demo">
<input type="file" id="fileInput1" name="fileInput1" />
<a href="javascript:$('#fileInput1').fileUploadStart();">Загрузить файл</a>
</div>

#1 Евгений - Июнь 16th, 2009 at 20:19
ставил этот скрипт. такое ощущение, что этот прогресс-барр – пыль в глаза. На сервере файла реально нет, хотя пр-бар показывает 100%, спустя какое-товремя файл появляется.
#2 nice - Июнь 17th, 2009 at 11:19
ну я как бы не автор скрипта, но нужно еще учесть что сначала он заливает в темповскую папку на сервере, а потом перемещает туда куда указано в скрипте… может из-за этого.
#3 Aectann - Декабрь 5th, 2009 at 02:33
Столкнулся с рядом проблем при использовании данного скрипта.
1. Не получилось сделать надпись на кнопке на русском языке, выдает цифры и буквы вместо надписи. Решил данную проблему подстановкой кнопки-картинки.
2. Не загружаются файлы на сервер с русскими названиями. Пример: загружаю файл ДОГОВОР.doc в папке на сервере вижу ДОГОВОР.doc
Решить пока не удалось, перепроверил настройки сервера везде стоит 1251 кодировка. Подскажите что можно сделать.
#4 nice - Декабрь 5th, 2009 at 12:35
на каком сервере поднят скрипт?
#5 Aectann - Декабрь 6th, 2009 at 16:13
На Apache 2.0 php 5.0
#6 nice - Декабрь 6th, 2009 at 16:33
iis или *nix ?
#7 Aectann - Декабрь 6th, 2009 at 16:50
win32 windows 7
#8 nice - Декабрь 6th, 2009 at 17:23
сервер на iis или нет?
#9 Aectann - Декабрь 6th, 2009 at 17:39
я писал что Apache 2.0
#10 nice - Декабрь 6th, 2009 at 18:16
я ошибся…
Apache поднят на винде ?
тогда кодировку нужно выставить в настройках Апача!
#11 Aectann - Декабрь 7th, 2009 at 08:50
В настройках апача закоментированы все кодировки кроме
AddCharset WINDOWS-1251 .cp-1251 .win-1251
#12 Aectann - Декабрь 7th, 2009 at 08:51
можно подкрутить скрипт загрузки чтобы он загружал файл с принудительно выставленной кодировкой ?
#13 nice - Декабрь 7th, 2009 at 13:37
К сожалению не могу помочь в данном вопросе. И с документации плагина ничего про кодировку не нашел…
#14 eros - Декабрь 11th, 2009 at 03:36
Там в настройках можно прописать картинку на которй можно что угодно прописать, у меня с этим скриптом не сложилось – не смог вывести практически простейшее – имена загружаемых файлов – я в JS не знаток, если кто подскажет буду очень благодарен
#15 Алексей - Январь 20th, 2010 at 18:00
Столкнулся с тем же, решил при помощи простой PHP-функции преобразования из UTF в WIN-1251:
// utf2win – for obtaining WIN-1251 encoded chars from UTF-8
function utf2win($text)
{
$newText = $text;
//Аяап
for ($n=0×90; $n<=0xBF; $n++)
{
$newText=str_replace(chr(0xD0).chr($n), chr($n + 0×30), $newText);
}
//ря
for ($n=0×80; $n<=0×8F; $n++)
{
$newText=str_replace(chr(0xD1).chr($n), chr($n + 0×70), $newText);
}
$newText=str_replace(chr(0xD0).chr(0×81), chr(0xa8), $newText);
$newText=str_replace(chr(0xD1).chr(0×91), chr(0xb8), $newText);
return $newText;
}
#16 nice - Январь 20th, 2010 at 20:11
Впринципе вполне логичное решение!
Спасибо что откоментировали.
А еще при загрузки файлов на сервер им лучше генерировать уникальное имя!
#17 - Май 10th, 2010 at 15:59
красиво, а гланое подробно, ща попробую поставить! )