Метод отличный, одно но - это прокрутит прямо в сценарии загрузки. Попытаться AJAX-запросом получить адреса tmp файлов для клиента будет сложнее. Впрочем, этот разговор можно перенести в личку. Я долго искал решение, затем плюнул и написал на Perl, хм, если все получится, то будет просто замечательно. Если не затруднит в личке пообщаться, то замечательно.
ЗЫ. Perl не мертв :)
Шуранов добавил 29.09.2008 в 15:58
Я предпочту закончить не начатый холивар. Но все же не хочу, чтобы Perl обижали, чудесный язык. Пардон, если кому помешал :)
Хм, неужели я настолько категоричен? Реакция на то, что оскорбили отличный язык, оказывается категоричностью? Мон шер, вы меня обижаете. Perl не умер, я не буду просить заходить на perlmonks или смотреть новые модули на cpan, но писать под веб на perl никак не менее удобно, чем на PHP. Владение интерфейсом это, безусловно, дело каждого мастера, но нельзя быть категоричным в том, что истинный только один инструмент.
Чего PHP не умеет в чистом виде, я уже указал, попробуйте опровергнуть, и я буду, с большим удовольствием, пользоваться вашим решением для загрузки файлов.
#!/usr/bin/perl -w
use strict;
use Template;
use Template::Stash::XS;
use CGI;
Вот и вся сложность разработки под веб, переубедите? Но при этом есть еще перехват ошибок и их вывод в браузер, хотя я сижу с отдельным окном в котором tail -f путь_к_логу. Поверьте, ошибки перехватываются отлично! А в PHP предположим, что вы ошиблись в имени переменной, и?
$myLongVariableName = 'value';
...
if($myLognVariableName == 'value') {
}
Как долго будете искать такую ошибку? А strict ругнется на нее сразу.
Шуранов добавил 29.09.2008 в 15:25
Давайте обратимся к еще более веселому моменту? Без расширений и плагинов на PHP попробуйте отслеживать прогресс загрузки файла? Точнее попробуйте определить какой из tmp файлов будет относиться к какому клиенту? Опять же проблемка возникает, а на perl решаемо легко: CGI::private_tempfiles(0);
Разубедите?
Думать надо, перед тем, как писать. Даже не хочется комментировать глупость фразы. Холивар начинать также не интересно, каждый язык для своих задач.