индикатор выполнения при загрузке изображения без ajax в php

Я загружаю файл на свой сайт. Это работает нормально. Теперь я хочу отображать индикатор выполнения, пока требуется время для загрузки. У меня есть возможность изменить загрузку через ajax, но я не могу использовать ajax. Можно ли показать без использования ajax и не нарушая код.

$image = new SimpleImage();
$objdjs= new Djs;
if(isset($_POST['btnprofile']))
{

if($_FILES['profilegallery']['name']!=""){
$res1 = $objdjs->upload_file($_FILES['profilegallery'],PATH_PROFILE_IMAGE);
 $image->load(PATH_PROFILE_IMAGE.$res1);
         $image->resize(46,36);
         $image->save(PATH_PROFILE_IMAGE."thumb_".$res1);

$title=trim($_POST['title1']);
$ins = $objdjs->insertprofile($uid,$title,$res1);
$messageProfile="<span style='color:#336600'>Image has been added in profile gallery</span>";
echo "<script>window.location='listprofilegallery.php?ms=true';</script>";

любая помощь будет оценена спасибо


person Rajnaikant    schedule 15.12.2010    source источник


Ответы (5)


Вы можете попробовать SWFUpload, у него есть настраиваемый индикатор выполнения, но он работает только с flash. Существует также подключаемый модуль jQuery под названием uploadify.

person Rodrigo    schedule 15.12.2010

Очень некрасивое, но быстрое решение — установить iframe, который обновляется сам.

Почему бы не использовать Ajax?

person Muxecoid    schedule 15.12.2010

Вы говорите о том, чтобы не менять код (много), поэтому я думаю, что самый простой вариант — это (эх) загрузчик flash. Когда вы говорите «но я не могу использовать AJAX», я предполагаю, что вы имеете в виду «я еще не знаю, как его использовать». В этом случае я бы рекомендовал jQUery и AJAX. У вас по-прежнему не может быть индикатора выполнения (к сожалению), но он поможет вам изучить AJAX.

person Bojangles    schedule 15.12.2010

Я думаю, что ваш запрос в принципе невозможен, когда ваш пользователь отправит форму, вы застрянете. Тогда единственный способ создать индикатор выполнения загрузки - это

  • javascript/ajax
  • вспышка
  • Java-апплет
person RageZ    schedule 15.12.2010

То, что вы хотите сделать, невозможно только с PHP. PHP — это серверный язык, который не может напрямую воздействовать на страницу после того, как она была передана в браузер. Для этого вам понадобится Javascript, на самом деле AJAX.

Есть два хороших варианта:

  1. использовать SWF
  2. использовать АЯКС
person Tanner Ottinger    schedule 17.12.2010