Yes I am looking to change the C implementation. The problem is - the uploaded temp file is already created by httpd server even before it gets to php.
In php I just need to find this temp file, trim the headers and avoid file copy by php being done by following code in rfc1867.c while (!cancel_upload && (blen = multipart_buffer_read(mbuff, buff, sizeof(buff), &end TSRMLS_CC))) { if (php_rfc1867_callback != NULL) { multipart_event_file_data event_file_data; event_file_data.post_bytes_processed = SG(read_post_bytes); event_file_data.offset = offset; event_file_data.data = buff; event_file_data.length = blen; event_file_data.newlength = &blen; if (php_rfc1867_callback(MULTIPART_EVENT_FILE_DATA, &event_file_data, &event_extra_data TSRMLS_CC) == FAILURE) { ... While following multipart_buffer_read I cannot find the place where it is reading the temp file to fill this buffer. Thanks -----Original Message----- From: Matt Wilson [mailto:sha...@gmail.com] Sent: Tuesday, June 02, 2009 4:22 PM To: Bharat Nagwani Cc: internals@lists.php.net Subject: Re: [PHP-DEV] Question on file upload I'm not sure if you're looking to change the C implementation or not, but you could always bypass the internal processing of the file. Set post_max_size to 0 and parse the HTTP_RAW_POST_DATA manually. On Jun 2, 2009, at 3:55 PM, Bharat Nagwani wrote: > Hello, > > I want to change the way file upload processing is done in php. We > have a http server (appweb) > that puts the uploaded file to a temp directory. This file has > headers at the beginning and end. > > I am looking at code rfc1867.c. This code takes the temp file and > seems to extract the real file. > I want to change it so instead of entire file, I can run a system > awk command to trim the > header lines to get the actual file. > > Has anyone done something similar? I cant find the place where the > actual file is being read? > Can someone please point to that. > > This is php 5.2 on bsd. > > Thanks > -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php