We have a website that allows large video uploads, these are stored in Amazon S3.
There is an Ajax file uploader that uses
PUT to send the file (with an upload progress bar) to a receiving PHP script that uses php://input to read the input stream and then write this data to S3.
$stream = fopen("php://input", "rb") and
fread($stream, 8192) to read 8KB blocks, once a few MB of data have been read this is written to S3. Each time a block of data is sent to S3 we record this in a database logging table so we know that S3 is being written to as soon as the upload process begins.
The problem is the stream is also being saved to
/tmp which is filling up the available disk space on the server. Is there a simple way to prevent the file from being stored in
/tmp or clearing it out after each
We can create a larger temporary area just for this uploader but there must be a more elegant solution.