How to copy a file sent with $GLOBALS["HTTP_RAW_POST_DATA"]

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
deezerd
Forum Newbie
Posts: 4
Joined: Sat Mar 22, 2008 7:52 pm

How to copy a file sent with $GLOBALS["HTTP_RAW_POST_DATA"]

Post by deezerd »

Hi

here is the thing: I have a flash application that creates a jpeg file and then call a php file to send the jpeg to the client with a classic browser download window

The jpeg file is sent on the fly with the variable $GLOBALS["HTTP_RAW_POST_DATA"]
I would like to copy this file in a directory before it is sent to the web browser with the header() function but I have no idea of how to do this

I tried it doing something like copy('myphpfile.php','foo.jpg') but I get this warning error:

Code: Select all

Warning: copy(jpg_encoder_download.php?name=sketch.jpg) [function.copy]: failed to open stream
Here is the content of the php file called by the flash application: how can I copy the content of $GLOBALS["HTTP_RAW_POST_DATA"] on my server before to send it on the fly?

Code: Select all

<?php
 
 
if ( isset ( $GLOBALS["HTTP_RAW_POST_DATA"] )) {
    
    $im = $GLOBALS["HTTP_RAW_POST_DATA"];
    
    header('Content-Type: image/jpeg');
    header("Content-Disposition: attachment; filename=".$_GET['name']);
    echo $im;
    
}  else echo 'An error occured.';
 
?>
many thanks for your help
User avatar
Weirdan
Moderator
Posts: 5978
Joined: Mon Nov 03, 2003 6:13 pm
Location: Odessa, Ukraine

Re: How to copy a file sent with $GLOBALS["HTTP_RAW_POST_DATA"]

Post by Weirdan »

Code: Select all

file_put_contents('filename.ext', $GLOBALS["HTTP_RAW_POST_DATA"]);
deezerd
Forum Newbie
Posts: 4
Joined: Sat Mar 22, 2008 7:52 pm

Re: How to copy a file sent with $GLOBALS["HTTP_RAW_POST_DATA"]

Post by deezerd »

Weirdan wrote:

Code: Select all

file_put_contents('filename.ext', $GLOBALS["HTTP_RAW_POST_DATA"]);
it works, thanks :)
Post Reply