在php中没有ajax上传图像的进度条

时间:2010-12-15 08:57:48

标签: php javascript html progress-bar

我正在我的网站上传文件。它工作正常。现在我想在上传时显示进度条。 我可以选择通过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>";

任何帮助都会被批评 感谢

5 个答案:

答案 0 :(得分:1)

你可以尝试SWFUpload,它有一个可自定义的进度条,但这只适用于flash。还有一个名为uploadify

的jQuery插件

答案 1 :(得分:0)

我认为你的要求基本上是不可能的,当你的用户提交表格时你会被卡住。那么只有创建一些上传进度条的方法是

  • javascript / ajax
  • 闪光
  • java applet

答案 2 :(得分:0)

非常丑陋但快速解决方案是放置一个自我刷新的iframe。

为什么不使用Ajax?

答案 3 :(得分:0)

你谈到不改变代码(很多),所以我认为最简单的选择是(eugh)一个flash上​​传器。当你说“但我不能使用AJAX”时,我会假设你的意思是“我还不知道如何使用它”。在这种情况下,我建议jQUery and AJAX。你仍然没有进度条(不幸的是),但它会帮助你学习AJAX。

答案 4 :(得分:0)

只需PHP就不可能做到。 PHP是一种服务器端语言,一旦将页面提供给浏览器,就无法直接影响页面。你需要一些Javascript才能做到这一点,真的是AJAX。

有两个不错的选择:

  1. 使用swf
  2. 使用AJAX