Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:13799 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 4264 invoked by uid 1010); 9 Nov 2004 18:01:32 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 4218 invoked from network); 9 Nov 2004 18:01:31 -0000 Received: from unknown (HELO mail.digitalims.net) (216.58.226.166) by pb1.pair.com with SMTP; 9 Nov 2004 18:01:31 -0000 Received: (qmail 27415 invoked by uid 778); 9 Nov 2004 18:01:31 -0000 Received: from unknown (HELO godzilla.corp.digitalims.com) (65.221.143.39) by mail.digitalims.net with SMTP; 9 Nov 2004 18:01:31 -0000 X-MimeOLE: Produced By Microsoft Exchange V6.0.6487.1 Content-Class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Date: Tue, 9 Nov 2004 12:01:30 -0600 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PHP-DEV] Upload Progress Meter Patch Thread-Index: AcTD1/bmAYFjdzjNQ/a4Pk5IMrdIuACrKtRw To: Subject: RE: [PHP-DEV] Upload Progress Meter Patch From: DEnderson@DigitalIMS.com ("David Enderson") Developers, You may remember me posting regarding this issue in the past. I also wrote a patch to accomplish this task that I've been maintaining for my company and updating with the 4.3.x releases. I'm very glad to see discussion regarding this issue once again. I have gotten many, many requests by individuals who really needed this functionality. Here is a link to my patch for 4.3.8: http://david.enderson.net/downloads/php-4.3.8-file_upload_status.tar.gz And here is a link to the demo page on my server. This page runs the example code I include with my patch: http://david.enderson.net/file_upload_status/file_upload_form.html As someone mentioned, hooks into the receiving engine are necessary that can be accessed by an external script. In my case, since I didn't understand shared memory very well, I use temporary files on the hard drive that store the current status and bytes. Those files are the used to transfer the information between the language code handling the incoming data and the script getting the status. My extension functions access the file to get the current status. If you look at my example code, it is pretty easy to use because there are just a handful of functions that the user uses to get the status. This is thread safe because the file system and the unique ID take care of any possible collisions. I understand that any file upload status upgrade would occur in HEAD and PECL, I just wanted to explain the problem more thoroughly to those who haven't studied the problem in detail, and show a good example of how the upload status could be accessed in the status script. --David -----=3D+=3D----- David Enderson Programmer Digital IMS