Forum Moderators: coopster

Message Too Old, No Replies

How to copy a file sent with $GLOBALS["HTTP RAW POST DATA"]

         

DeezerD

12:50 am on Mar 23, 2008 (gmt 0)

10+ Year Member



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:
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?

<?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

DeezerD

2:06 am on Mar 23, 2008 (gmt 0)

10+ Year Member



problem solved
file_put_contents('filename.ext', $GLOBALS["HTTP_RAW_POST_DATA"]);

eelixduppy

5:23 am on Mar 23, 2008 (gmt 0)



glad you found your solution :)

coopster

1:20 pm on Mar 24, 2008 (gmt 0)

WebmasterWorld Administrator 10+ Year Member



You may want to consider the less memory intensive
php://input
stream rather than the old HTTP_RAW_POST_DATA too. Some details and an example in this thread:
[webmasterworld.com...]