Re: How to capture uploaded file data

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Thanks,

Bastien

> On Sep 27, 2013, at 12:56 AM, Mariusz Drozdowski <schemedit@xxxxx> wrote:
> 
> Hi all php experts,
> 
> I would like to ask you all a question, I hope this is the right place
> to ask it.
> 
> I'm writing a PHP extension now in c/c++. User uploads a file (could be POST
> or PUT method, but I can limit it to POST only). I need to capture the
> file data while being
> uploaded, without writing it to disk on the server. I need to process
> the data and (maybe,
> depending on a situation) send it somewhere else or save it to disk.
> Of course I know, that I can process the file
> after it has been uploaded (saved on disk on the server), but I would
> like to avoid it.
> I also need to do something opposite: I need to generate a file "on the
> fly" and send it
> to the user. All metadata of the generated file is known beforehand
> (e.g. size, name).
> 
> I've been searching around for some time now and I could not find
> anything even close to the solution.
> Is there any example(s) or existing PHP extension that do(es) something
> like this (at least something simmilar) ?
> If you could give me any pointers that would be awesome.
> 
> Thanks for your help 

The question I have is why? Should your upload fail for any reason you've got a half processed file that is non-recoverable.  No do-overs. If you stick to the standard processes with out the extension,

Upload
Save somewhere (or leave in temp upload folder)
Process
Send result back to user 
Unlink file

Generating the file and sending it to the user is also pretty standard

Create your dataset
Send appropriate headers
Send data
Close connection

For this, there usually isn't a need to save the file. You may run into issues streaming the data to certain browsers. 

Also one of the main downsides to your upload is high load situations or large file situations (where file size exceeds php's upload limit). 

My personal preference is to save that file to disk so that if needed I can work with it later ( if say the server load is high) and email the results to the user. 



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php






[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux