Author image יצחק גולדסטנד


Apache::UploadMeter - Apache module which implements an upload meter for form-based uploads


  use Apache::UploadMeter;

  (in /form.html)

  <INPUT TYPE="FILE" NAME="theFile"/>


Apache::UploadMeter is a mod_perl module which implements a status-meter/progress-bar to show realtime progress of uploads done using a form with enctype=multipart/formdata.

Since the module uses quite a few distinct URIs to run, as well as the need to chain to various parts of the Apache request phase and the need to insert data into existing HTML changes, it might seem a trifle difficult to set up at first glance. However, much effort has been made in minimizing the effort required to do this. All that is needed is to tell the module where the different URLs are during server startup, and Apache::UploadMeter will insert the proper hooks for the different URLs automatically.

The only changes needed to be made to existing pages and/or scripts is the replacement of the existing <FORM> tag, which is done automatically the a special SSI directive <!--#uploadform--> instead of the existing <FORM> tag.

NOTE: To use this, mod_perl MUST be built with StackedHandlers enabled.


  • $Apache::UploadMeter::UploadForm

    This should point to the URI on the server which contains the upload form with the special <!--#uploadform--> tag. Note that there should NOT be an opening <FORM> tag, but there SHOULD be a closing </FORM> tag on the HTML page.

  • $Apache::UploadMeter::UploadScript

    This should point to the target (eg, ACTION) of the upload form.

  • $Apache::UploadMeter::UploadMeter

    This should point to an unused URI on the server. This URI will be used to provide the progress-meter window.

  • $Apache::UploadMeter::TempDir

    Can be used to set the TEMP_DIR directive in Apache::Request->new


Copyright (c) 2001, 2002 Issac Goldstand <> - All rights reserved.

This library is free software. It can be redistributed and/or modified under the same terms as Perl itself.