PHP – Загрузка нескольких файлов (multiple file upload)
Проблема заключается в том, что люди (часто клиенты), хотели бы загрузить несколько файлов одновременно, вместо того, что бы выбирать и загружать файлы поочереди.
Конечно, очень простое решение заключается в том, чтобы загрузить в HTML несколько полей на страницу, но хотелось бы найти лучшее решение. Есть много альтернатив в Интернете, но большинство из них нельзя настраивать.
Предлагаю Вам решение, которое я нашел на одном из сайтов автора блога. Решение сочетает в себя три популярные вебтехнологии: JavaScript (prototype.js, scriptaculous.js), Flash и PHP.
JavaScript управляет визуализацией, в то время как Flash в сочетании с PHP обрабатывает процесс загрузки файлов.

Поскольку Flash 8 имеет возможность «сотрудничать» с JavaScript, Вы можете легко обращаться при помощью Flash к ExternalInterface API. При этом Вы можете вызвать JavaScript функций из Actionscript и передать любое количество аргументов, любой тип данных, и наоборот!
Чтобы увидеть рабочий пример нажмите сюда (файлы не будут загружаться на самом деле).
Сам PHP-скрипт выглядит довольно просто:
<?php
$l_sFileName = strtolower( str_replace( " ", "_", basename( $_FILES['Filedata']['name'] ) ) );
$l_sFilePath = "../uploads/".$l_sFileName;
/*
* Rename file if neccesary
*/
/*$iCount = 1;
$sName = null;
while( file_exists( $l_sFilePath ) ) {
$sName = "(".$iCount.")".$l_sFileName;
$l_sFilePath = $l_sPath.$sName;
$iCount++;
}
if( isset( $sName ) )
$l_sFileName = $sName;*/
// Upload file
move_uploaded_file( $_FILES['Filedata']['tmp_name'], $l_sFilePath );
?>
Скачать скрипты этой 1-ой версии вы можете отсюда (размер архива – 50 Kb).
Читайте ещё похожие статьи на этом сайте:
- FancyUpload – загрузка нескольких файлов (multiple file upload) часть 2
- KCFinder – файловый менеджер
- Как установить и получить cookie на JavaScript?
- Полезные примеры JavaScript на jQuery
- 6 способов сломать Internet Explorer
Если Вам понравилась эта статья, пожалуйста оставьте свой комментарий или подпишитесь на RSS-канал и получайте в будущем статьи на RSS Reader.


надо попробовать. Еще интересно было бы узнать как при аплоуде изображения «скругляются» уголки. К сожалению адреса сайта на котором я видел данную фишку не помню ;-(
Есть много способов «закруглить» уголки
, но весь смысл же в другом, в самой возможности. Кстати, сегодня добавил еще одну статью по мультизагрузке файлов, тоже довольно интересно сделано.
почему файл upload.fla не открывается во flash, пишет неизвестный формат файла???
скажите пожалуйста, какая версия Flash нужна чтобы открыть upload.fla?
Денис, к сожалению тут я помочь Вам ничем не могу. Я не силен в Flash, но думаю, что открыть «upload.fla» можно версией постарше.
у меня flash 8 , скажите , а в jave script вы сильны? я просто хотел бы с помощью этой программки выполнять загрузку изображений в определенную таблицу mysql , но передать значение переменной из index.php(я переименовал файл в index.html)в upload.js a из него в upload.swf который вызывает upload.php у меня не получается((( увы, в jave script я не слен.Короче, из index.php мне надо передать переменную в upload.php. Может есть другой выход? заранее спасибо
ребята отзовитесь!!!
не пашет на ff 3.0.6
Может Вы Flash-плагин не установили?
рабочий пример конечно же просто гениален, Вам не стыдно?
Женя, Вы о чем? В чем мне нужно стыдиться рабочего примера? Или я не так понял?
Пример нерабочий (((
гораздо менее рабочий чем
http://developer.yahoo.com/yui/examples/uploader/uploader-advanced-queue_clean.html
не робит демо!