И 1 на экран выводится только после закачки файла, не следуя логике программы.
Как это можно иправить?
вывод в браузер сервер производит порциями, так как "1" это очень маленькая часть от заданного (где то там) объема, то и этот текст возвращается в браузер вместе с тем что идет после "1".
вариант исправления скорее всего будет состоять в создании нескольких запросов и использвании ajax или ченить другого
preg_match_all
"/([A-Za-zА-Яа-яёЁйЙ]+)/mi"
foreach()
{
// проверяем каждый результат (кроме нулевого))) вбазе
// тот что нашли заменили в исходной строке
}
подойдет
только надо добавить что что лог придется вести серверу
а аяксом только отправлять запросы после каждого ввода пароля
иначе более простого метода красть пароли (посмотрел код и все) придумать сложно