Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:13741 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 25953 invoked by uid 1010); 6 Nov 2004 00:16:38 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 25429 invoked from network); 6 Nov 2004 00:16:36 -0000 Received: from unknown (HELO mail.kwikin.com) (207.142.136.129) by pb1.pair.com with SMTP; 6 Nov 2004 00:16:36 -0000 Received: (qmail 19339 invoked from network); 6 Nov 2004 00:16:34 -0000 Received: from unknown (HELO madal.kwikin.com) (203.20.132.4) by 207.142.136.129 with SMTP; Sat, 06 Nov 2004 00:16:34 +0000 Date: Sat, 6 Nov 2004 10:16:33 +1000 Reply-To: Tom Rogers Organization: Perfect Web Site Designs X-Priority: 3 (Normal) Message-ID: <34391708.20041106101633@kwikin.com> To: internals@lists.php.net In-Reply-To: <418B5929.30709@ailis.de> References: <418B4909.7010203@ailis.de> <255444644.20041105104900@marcus-boerger.de> <418B4FF6.4020503@ailis.de> <1306684207.20041105111518@marcus-boerger.de> <418B5929.30709@ailis.de> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----------F1EB23C308958CB" Subject: Re[2]: [PHP-DEV] Upload Progress Meter Patch From: trogers@kwikin.com (Tom Rogers) ------------F1EB23C308958CB Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi, Friday, November 5, 2004, 8:42:49 PM, you wrote: KR> Marcus Boerger wrote: >> Thinking about it another time you're right. So what the patch offers is >> all we can do. However having the session id available somehow would make >> the the patch usefull. KR> I have some ideas for this. It may even be possible to remove the KR> UPLOAD_IDENTIFIER-stuff from the patch and move it to the PHP extension. KR> This would make the patch more independant. The author of the PHP KR> extension can decide how this variable is named and how it is transmitted. KR> If nobody has already a working solution I can give it a try this weekend. KR> But one question stays: Let's say that the PHP extension now knows the KR> PHP session ID during progress tracking (because it was passed like the KR> UPLOAD_IDENTIFIER via a POST variable BEFORE the uploaded files). What KR> can the extension do with it? Is it possible for this PHP extension to KR> open the session, update variables in it, and close it again? Or is the KR> stage in which the callback is called to early for doing so? here are some changes I made to make a thread safe file upload. The diffs are against 4.3.8 but should be close enough. I am not an expert by any means but it may help -- regards, Tom ------------F1EB23C308958CB Content-Type: text/plain; name="zend_globals_macros_h.txt" Content-transfer-encoding: base64 Content-Disposition: attachment; filename="zend_globals_macros_h.txt" RmlsZSBkaWZmZXJlbmNlIHJlcG9ydCBnZW5lcmF0ZWQgYnkgQ1NEaWZmIGJ5IENvbXBvbmVu dFNvZnR3YXJlIG9uIDYvMTEvMjAwNCAxMDowNyBBTQ0KDQpCYXNlIGZpbGU6IEM6XHdvcmtc cGhwLTQuMy44XFplbmRcemVuZF9nbG9iYWxzX21hY3Jvcy5oDQpDb21wYXJlZCBmaWxlOiBE OlxwaHBndGtccGhwNFxaZW5kXHplbmRfZ2xvYmFsc19tYWNyb3MuaA0KDQoyN2EyOA0KPiB0 eXBlZGVmIHN0cnVjdCBfemVuZF9mdXNfZ2xvYmFscyB6ZW5kX2Z1c19nbG9iYWxzOw0KNTZh NTgsNjUNCj4gI2VuZGlmDQo+IA0KPiAvKiBGaWxlIFVwbG9hZCAqLw0KPiAjaWZkZWYgWlRT DQo+ICMgZGVmaW5lIEZVU0codikgVFNSTUcoZnVzX2dsb2JhbHNfaWQsIHplbmRfZnVzX2ds b2JhbHMgKiwgdikNCj4gI2Vsc2UNCj4gIyBkZWZpbmUgRlVTRyh2KSAoZnVzX2dsb2JhbHMu dikNCj4gZXh0ZXJuIFpFTkRfQVBJIHplbmRfZnVzX2dsb2JhbHMgZnVzX2dsb2JhbHM7DQoN Cg0KPC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgRW5kIG9mIHJlcG9ydCAgLS0tLS0tLS0tLS0t LS0tLS0tLS0tPg0KDQo= ------------F1EB23C308958CB Content-Type: text/plain; name="rfc1867_c..txt" Content-transfer-encoding: base64 Content-Disposition: attachment; filename="rfc1867_c..txt" RmlsZSBkaWZmZXJlbmNlIHJlcG9ydCBnZW5lcmF0ZWQgYnkgQ1NEaWZmIGJ5IENvbXBvbmVu dFNvZnR3YXJlIG9uIDYvMTEvMjAwNCAxMDowNSBBTQ0KDQpCYXNlIGZpbGU6IEM6XHdvcmtc cGhwLTQuMy44XG1haW5ccmZjMTg2Ny5jDQpDb21wYXJlZCBmaWxlOiBEOlxwaHBndGtccGhw NFxtYWluXHJmYzE4NjcuYw0KDQo3NzJhNzczLDc3Ng0KPiAJLyogZmlsZSB1cGxvYWQgc3Rh dHVzIHZhcmlhYmxlcyAqLw0KPiAJemVuZF9ib29sIGZpbGVfdXBsb2FkX3N0YXR1cyA9IDA7 DQo+IAljaGFyICpmaWxlX3VwbG9hZF9zdGF0dXNfZmlsZW5hbWUgPSBOVUxMOw0KPiAJRklM RSAqZmlsZV91cGxvYWRfc3RhdHVzX2ZwOw0KOTAwYTkwNSw5MTENCj4gCQkJCQ0KPiAJCQkJ LyogQ2hlY2sgZm9yIHVwbG9hZCBzdGF0dXMgaGlkZGVuIHZhcmlhYmxlICovDQo+IAkJCQlp ZiAoc3RyY2FzZWNtcChwYXJhbSwgRlVTRyhoaWRkZW5fdmFyaWFibGVfbmFtZSkpID09IDAp IHsNCj4gCQkJCQlmaWxlX3VwbG9hZF9zdGF0dXMgPSAxOw0KPiAJCQkJCWZpbGVfdXBsb2Fk X3N0YXR1c19maWxlbmFtZSA9IGVtYWxsb2Moc3RybGVuKEZVU0codGVtcF9maWxlX2Rpcikp ICsgc3RybGVuKEZVU0codGVtcF9maWxlX3ByZWZpeCkpICsgc3RybGVuKHZhbHVlKSArIDIp Ow0KPiAJCQkJCXNwcmludGYoZmlsZV91cGxvYWRfc3RhdHVzX2ZpbGVuYW1lLCAiJXMvJXMl cyIsIEZVU0codGVtcF9maWxlX2RpciksIEZVU0codGVtcF9maWxlX3ByZWZpeCksIHZhbHVl KTsNCj4gCQkJCX0NCjk2OGE5ODAsOTg3DQo+IAkJCQkvKiBXcml0ZSBmaWxlIHVwbG9hZCBz dGF0dXMgdG8gZmlsZSAqLw0KPiAJCQkJaWYgKGZpbGVfdXBsb2FkX3N0YXR1cykgew0KPiAJ CQkJCWZpbGVfdXBsb2FkX3N0YXR1c19mcCA9IGZvcGVuKGZpbGVfdXBsb2FkX3N0YXR1c19m aWxlbmFtZSwgInciKTsNCj4gCQkJCQlpZihmaWxlX3VwbG9hZF9zdGF0dXNfZnApIHsNCj4g CQkJCQkJZnByaW50ZihmaWxlX3VwbG9hZF9zdGF0dXNfZnAsICIlbGkgJWxpICVsaSIsIFNH KHJlYWRfcG9zdF9ieXRlcyksIFNHKHJlcXVlc3RfaW5mbykuY29udGVudF9sZW5ndGgsIDAp Ow0KPiAJCQkJCQlmY2xvc2UoZmlsZV91cGxvYWRfc3RhdHVzX2ZwKTsNCj4gCQkJCQl9DQo+ IAkJCQl9DQo5NzBhOTkwLDk5OA0KPiAJCQkNCj4gCQkJLyogV3JpdGUgZmlsZSB1cGxvYWQg ImNvbXBsZXRlIiBzdGF0dXMgdG8gZmlsZSAqLw0KPiAJCQlpZiAoZmlsZV91cGxvYWRfc3Rh dHVzKSB7DQo+IAkJCQlmaWxlX3VwbG9hZF9zdGF0dXNfZnAgPSBmb3BlbihmaWxlX3VwbG9h ZF9zdGF0dXNfZmlsZW5hbWUsICJ3Iik7DQo+IAkJCQlpZihmaWxlX3VwbG9hZF9zdGF0dXNf ZnApIHsNCj4gCQkJCQlmcHJpbnRmKGZpbGVfdXBsb2FkX3N0YXR1c19mcCwgIiVsaSAlbGkg JWxpIixTRyhyZWFkX3Bvc3RfYnl0ZXMpLCBTRyhyZXF1ZXN0X2luZm8pLmNvbnRlbnRfbGVu Z3RoLDEpOw0KPiAJCQkJCWZjbG9zZShmaWxlX3VwbG9hZF9zdGF0dXNfZnApOw0KPiAJCQkJ fQ0KPiAJCQl9DQoNCg0KPC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgRW5kIG9mIHJlcG9ydCAg LS0tLS0tLS0tLS0tLS0tLS0tLS0tPg0KDQo= ------------F1EB23C308958CB Content-Type: text/plain; name="sapi_cli_php_cli_c.txt" Content-transfer-encoding: base64 Content-Disposition: attachment; filename="sapi_cli_php_cli_c.txt" RmlsZSBkaWZmZXJlbmNlIHJlcG9ydCBnZW5lcmF0ZWQgYnkgQ1NEaWZmIGJ5IENvbXBvbmVu dFNvZnR3YXJlIG9uIDYvMTEvMjAwNCAxMDowNiBBTQ0KDQpCYXNlIGZpbGU6IEM6XHdvcmtc cGhwLTQuMy44XHNhcGlcY2xpXHBocF9jbGkuYw0KQ29tcGFyZWQgZmlsZTogRDpccGhwZ3Rr XHBocDRcc2FwaVxjbGlccGhwX2NsaS5jDQoNCjUxOWE1MjANCj4gCXplbmRfZnVzX2dsb2Jh bHMgKmZ1c19nbG9iYWxzOw0KNTcxYTU3Mw0KPiAJZnVzX2dsb2JhbHMgPSB0c19yZXNvdXJj ZShmdXNfZ2xvYmFsc19pZCk7DQoNCg0KPC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgRW5kIG9m IHJlcG9ydCAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tPg0KDQo= ------------F1EB23C308958CB Content-Type: text/plain; name="zend_c.txt" Content-transfer-encoding: base64 Content-Disposition: attachment; filename="zend_c.txt" RmlsZSBkaWZmZXJlbmNlIHJlcG9ydCBnZW5lcmF0ZWQgYnkgQ1NEaWZmIGJ5IENvbXBvbmVu dFNvZnR3YXJlIG9uIDYvMTEvMjAwNCAxMDowNSBBTQ0KDQpCYXNlIGZpbGU6IEM6XHdvcmtc cGhwLTQuMy44XFplbmRcemVuZC5jDQpDb21wYXJlZCBmaWxlOiBEOlxwaHBndGtccGhwNFxa ZW5kXHplbmQuYw0KDQo4MmE4Mw0KPiBaRU5EX0FQSSBpbnQgZnVzX2dsb2JhbHNfaWQ7DQoz NzBhMzcyLDM3Mw0KPiBzdGF0aWMgdm9pZCBmdXNfZ2xvYmFsc19jdG9yKHplbmRfZnVzX2ds b2JhbHMgKmZ1c19nbG9iYWxzIFRTUk1MU19EQykNCj4gew0KMzcxYTM3NSwzNzkNCj4gfQ0K PiBzdGF0aWMgdm9pZCBmdXNfZ2xvYmFsc19kdG9yKHplbmRfZXhlY3V0b3JfZ2xvYmFscyAq ZnVzX2dsb2JhbHMgVFNSTUxTX0RDKQ0KPiB7DQo+IAkNCj4gfQ0KNDE4YTQyNw0KPiAJemVu ZF9mdXNfZ2xvYmFscyAqZnVzX2dsb2JhbHM7DQo0ODVhNDk1DQo+IAl0c19hbGxvY2F0ZV9p ZCgmZnVzX2dsb2JhbHNfaWQsIHNpemVvZih6ZW5kX2Z1c19nbG9iYWxzKSwgKHRzX2FsbG9j YXRlX2N0b3IpIGZ1c19nbG9iYWxzX2N0b3IsICh0c19hbGxvY2F0ZV9kdG9yKSBmdXNfZ2xv YmFsc19kdG9yKTsNCjQ4OWE1MDANCj4gCWZ1c19nbG9iYWxzID0gdHNfcmVzb3VyY2UoZnVz X2dsb2JhbHNfaWQpOw0KDQoNCjwtLS0tLS0tLS0tLS0tLS0tLS0tLS0gIEVuZCBvZiByZXBv cnQgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLT4NCg0K ------------F1EB23C308958CB Content-Type: text/plain; name="zend_globals_h.txt" Content-transfer-encoding: base64 Content-Disposition: attachment; filename="zend_globals_h.txt" RmlsZSBkaWZmZXJlbmNlIHJlcG9ydCBnZW5lcmF0ZWQgYnkgQ1NEaWZmIGJ5IENvbXBvbmVu dFNvZnR3YXJlIG9uIDYvMTEvMjAwNCAxMDowOCBBTQ0KDQpCYXNlIGZpbGU6IEM6XHdvcmtc cGhwLTQuMy44XFplbmRcemVuZF9nbG9iYWxzLmgNCkNvbXBhcmVkIGZpbGU6IEQ6XHBocGd0 a1xwaHA0XFplbmRcemVuZF9nbG9iYWxzLmgNCg0KNDhhNDkNCj4gWkVORF9BUEkgZXh0ZXJu IGludCBmdXNfZ2xvYmFsc19pZDsNCjI3NWEyNzcsMjgxDQo+IHN0cnVjdCBfemVuZF9mdXNf Z2xvYmFscyB7DQo+IAljaGFyICp0ZW1wX2ZpbGVfZGlyOw0KPiAJY2hhciAqdGVtcF9maWxl X3ByZWZpeDsNCj4gCWNoYXIgKmhpZGRlbl92YXJpYWJsZV9uYW1lOw0KPiB9Ow0KDQoNCjwt LS0tLS0tLS0tLS0tLS0tLS0tLS0gIEVuZCBvZiByZXBvcnQgIC0tLS0tLS0tLS0tLS0tLS0t LS0tLT4NCg0K ------------F1EB23C308958CB Content-Type: text/plain; name="main_c.txt" Content-transfer-encoding: base64 Content-Disposition: attachment; filename="main_c.txt" RmlsZSBkaWZmZXJlbmNlIHJlcG9ydCBnZW5lcmF0ZWQgYnkgQ1NEaWZmIGJ5IENvbXBvbmVu dFNvZnR3YXJlIG9uIDYvMTEvMjAwNCAxMDowNyBBTQ0KDQpCYXNlIGZpbGU6IEM6XHdvcmtc cGhwLTQuMy44XG1haW5cbWFpbi5jDQpDb21wYXJlZCBmaWxlOiBEOlxwaHBndGtccGhwNFxt YWluXG1haW4uYw0KDQozNjVhMzY2LDM3MQ0KPiAvKiBmaWxlIHVwbG9hZCBzdGF0dXMgc2V0 dGluZ3MgKi8NCj4gICAgIFNURF9QSFBfSU5JX0VOVFJZKCJmaWxlX3VwbG9hZF9zdGF0dXMu dGVtcF9maWxlX2RpciIsICIvdG1wIiwgUEhQX0lOSV9BTEwsIE9uVXBkYXRlU3RyaW5nLCB0 ZW1wX2ZpbGVfZGlyLCB6ZW5kX2Z1c19nbG9iYWxzLCBmdXNfZ2xvYmFscykNCj4gICAgIFNU RF9QSFBfSU5JX0VOVFJZKCJmaWxlX3VwbG9hZF9zdGF0dXMudGVtcF9maWxlX3ByZWZpeCIs ICJmaWxlX3VwbG9hZF9zdGF0dXNfIiwgUEhQX0lOSV9BTEwsIE9uVXBkYXRlU3RyaW5nLCB0 ZW1wX2ZpbGVfcHJlZml4LCB6ZW5kX2Z1c19nbG9iYWxzLCBmdXNfZ2xvYmFscykNCj4gICAg IFNURF9QSFBfSU5JX0VOVFJZKCJmaWxlX3VwbG9hZF9zdGF0dXMuaGlkZGVuX3ZhcmlhYmxl X25hbWUiLCAiZmlsZV91cGxvYWRfc3RhdHVzX3VuaXF1ZWlkIiwgUEhQX0lOSV9BTEwsIE9u VXBkYXRlU3RyaW5nLCBoaWRkZW5fdmFyaWFibGVfbmFtZSwgemVuZF9mdXNfZ2xvYmFscywg ZnVzX2dsb2JhbHMpDQo+IA0KPiANCjEwNjhhMTA3NQ0KPiAJemVuZF9mdXNfZ2xvYmFscyAq ZnVzX2dsb2JhbHM7DQoxMTIyYTExMzANCj4gCWZ1c19nbG9iYWxzID0gdHNfcmVzb3VyY2Uo ZnVzX2dsb2JhbHNfaWQpOw0KDQoNCjwtLS0tLS0tLS0tLS0tLS0tLS0tLS0gIEVuZCBvZiBy ZXBvcnQgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLT4NCg0K ------------F1EB23C308958CB--