Я не совсем уверен, зачем вам вообще проверять размер файла? Если вы используете ajax для динамического выполнения get / post, и все, что вы делаете, это пытаетесь показать значок загрузки, пока это происходит, довольно просто вывести индикатор асинхронной активности. Например, с помощью jquery:
$("#loading").ajaxStart(function(){
$(this).show();
});
$("#loading").ajaxStop(function(){
$(this).hide();
});
$("#feeds").load("feeds.php?id=89734258972347895");
Приведенный выше код устанавливает объект DOM с идентификатором «loading» для отображения и скрытия, когда любой асинхронный запрос был инициирован и остановлен. .load (url) загружает содержимое URL в div #feeds. Если вы устанавливаете заголовок content-disposition: attachment с помощью php, он автоматически запустит окно загрузки файла, даже если он был асинхронно загружен в div. Это также возможно без jquery, конечно, есть только куча javascript совместимости браузера, и это не так просто, как просто подписаться на события ajaxStart и ajaxStop, чтобы показать и скрыть загрузку img.
Josh